WO2010076899A1 - 放送型暗号システム、送信者装置、ユーザ装置、カプセル化/脱カプセル化方法 - Google Patents

放送型暗号システム、送信者装置、ユーザ装置、カプセル化/脱カプセル化方法 Download PDF

Info

Publication number
WO2010076899A1
WO2010076899A1 PCT/JP2010/050001 JP2010050001W WO2010076899A1 WO 2010076899 A1 WO2010076899 A1 WO 2010076899A1 JP 2010050001 W JP2010050001 W JP 2010050001W WO 2010076899 A1 WO2010076899 A1 WO 2010076899A1
Authority
WO
WIPO (PCT)
Prior art keywords
key
ciphertext
signature
algorithm
verification
Prior art date
Application number
PCT/JP2010/050001
Other languages
English (en)
French (fr)
Inventor
勇 寺西
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Publication of WO2010076899A1 publication Critical patent/WO2010076899A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Definitions

  • the present invention relates to a broadcast encryption system, a sender device, a user device, an encapsulation / decapsulation method, an operation method of a sender device and a user device, and a program, and in particular, encapsulation and decapsulation in broadcast encryption.
  • a broadcast encryption system a sender device, a user device, an encapsulation / decapsulation method, an operation method of a sender device and a user device, and a program, and in particular, encapsulation and decapsulation in broadcast encryption.
  • Broadcast encryption is an encryption method that generates a ciphertext that can be decrypted only by a user (receiver) specified by a sender.
  • a public key cryptosystem When trying to send the same message M to n users, if a public key cryptosystem is simply used, the sender needs to generate n ciphertexts from the message M. However, if the broadcast encryption method is used, the effort of encryption can be reduced when the sender transmits the same message to a plurality of users.
  • Examples of broadcast encryption methods include the methods disclosed in Non-Patent Document 1 and Non-Patent Document 2.
  • a typical broadcast encryption method is used in combination with a common key encryption method.
  • the sender generates a ciphertext C that can be decrypted only by a specific user designated by the sender by encrypting the common key K of the common key cryptosystem by the broadcast encryption scheme, and the generated ciphertext Broadcast C.
  • the specific user acquires the common key K by decrypting the ciphertext C.
  • the sender broadcasts the ciphertext Cipher by encrypting the plaintext M to be transmitted using a common key.
  • the specific user decrypts the ciphertext Cipher using the acquired common key K to obtain plaintext M. Since users other than the specific user cannot obtain the common key K, the ciphertext Cipher cannot be decrypted, and thus the plaintext M cannot be obtained.
  • the broadcast encryption method is generally configured by combining four algorithms of “setup”, “extraction”, “encapsulation”, and “decapsulation”. Each algorithm does the following: “Setup” receives the security parameter ⁇ and the total number n of users, and outputs the public parameter param and the master key mk. “Extract” includes security parameter ⁇ , public parameter param, user ID j ⁇ ⁇ 1,. . . , N ⁇ and the master key mk, the secret key dk j of the user j is output. “Encapsulation” includes security parameter ⁇ , public parameter param, ⁇ 1,. . . , N ⁇ , a common key K is output.
  • the ciphertext C obtained by encrypting the common key K is output.
  • the subset S is a set of IDs of users who are permitted to decrypt the ciphertext C.
  • “Decapsulation” receives the security parameter ⁇ , the user ID j , the secret key dk j , the subset S, and the ciphertext C, decrypts the ciphertext C, and outputs the common key K.
  • broadcast encryption algorithms such as “Setup”, “Extraction”, “Encapsulation”, and “Decapsulation” are Setup, Extract, Encap, and Decap, respectively.
  • BE (Setup, Extract, Encap, Decap).
  • G ⁇ G ⁇ GT is a bilinear map.
  • G an elliptic curve
  • Weil Pairing on G can be used as e
  • a multiplicative group of a cyclic group can be used as GT.
  • q is preferably 160 bits or more.
  • G is an elliptic curve
  • the sum of two elements g and h of G may be expressed as “g + h”, but according to Non-Patent Document 1, it is expressed as “gh” instead of “g + h”.
  • the scalar multiple of the original g of G by x of Z / qZ may be expressed as “ag”, but according to Non-Patent Document 1, it is expressed as “ga” instead of “ag”.
  • Non-Patent Document 1 (Second broadcast encryption method) In addition to the first broadcast encryption method described above, Non-Patent Document 1 also proposes a technique for constructing a safer broadcast encryption method using broadcast encryption as a subroutine (Non-Patent Document 1). See “2.3 Transforming Semi-Static Security to Adaptive Security”). In the following, another broadcast encryption method (hereinafter referred to as “second broadcast encryption method”) proposed in Non-Patent Document 1 will be described.
  • BE ' for example, the first broadcast encryption scheme described above can be used.
  • Sym (SymEnc, SymDec) be the common key encryption method used in the second broadcast encryption method.
  • SymEnc and SymDec are encryption and decryption algorithms in the common key cryptosystem Sym, respectively.
  • Any common key encryption method may be used as the common key encryption method Sym, but for example, AES (Advanced Encryption Standard) encryption or DES (Data Encryption Standard) encryption can be used.
  • Sym a common key cryptosystem that simply takes the exclusive OR of the secret key and plaintext can be used.
  • the security parameter ⁇ , the public parameter param, and the subset S of ⁇ 1,..., N ⁇ are received (step S101).
  • a bit t i is randomly selected for each user ID i belonging to the subset S (step S102).
  • ⁇ t i ⁇ i ⁇ S is written as t.
  • a common key K is randomly selected from the key space of the encryption algorithm SymEnc (step S104).
  • the encapsulating algorithm Encap ′ is executed by inputting the security parameter ⁇ , the public parameter param, and the set S [0], and the ciphertext C [0] and the shared key ⁇ [0] are obtained (step S105).
  • Ciphertext L [0] is obtained by inputting ⁇ [0] as a shared key and the common key K as plaintext to the encryption algorithm SymEnc (step S105).
  • the security parameter ⁇ , the public parameter param, and the set S [1] are input to execute the encapsulation algorithm Encap ′, and the ciphertext C [1] and the shared key ⁇ [1] are obtained as outputs (step S106).
  • Ciphertext L [1] is obtained by inputting ⁇ [1] as a shared key and the common key K as plaintext to the encryption algorithm SymEnc (step S106).
  • C (C [0], L [0], C [1], L [1], t), and the ciphertext C and the common key K are output (step S107).
  • Security parameter ⁇ user ID j
  • secret key dk j (dk ′ j , s j ), subset S of ⁇ 1,..., N ⁇
  • ciphertext C (C [0], L [0 ], C [1], L [1], t) are received as inputs (step S201).
  • the exclusive OR s of s j and t j is calculated (step S202).
  • Step S203 The decapsulation algorithm Decap ′ is executed with the security parameter ⁇ , the secret key dk ′ j , the set S [ ⁇ ], and the ciphertext C [ ⁇ ] as inputs to obtain the common key ⁇ [ ⁇ ] (step S204).
  • the decryption algorithm SymDec is executed with the common key ⁇ [ ⁇ ] and the common key ciphertext L [ ⁇ ] as inputs, and the common key K is obtained as an output thereof (step S205).
  • the common key K is output (step S206).
  • CCA2 attack An attack method of “an attacker can decrypt a ciphertext C ′ different from the ciphertext C to be decrypted by a legitimate recipient and decrypt the ciphertext C using the decrypted information” is called a CCA2 attack.
  • the second broadcast encryption method of Non-Patent Document 1 is not secure against this CCA2 attack.
  • C ′ (C [0], L [0], C ′ [1], L ′ [1], t) is decrypted by a normal user j, and a common key K is obtained as a decryption result.
  • the common key ciphertext Cipher is decrypted using the obtained common key K.
  • a broadcast encryption system includes an encapsulating unit and a plurality of decapsulating units.
  • the encapsulating means generates a signature key sk and a verification key vk, determines a common key K, executes a predetermined encapsulation algorithm, and executes a predetermined encapsulation algorithm, and a set S of user IDs and a verification key vk ,
  • a ciphertext C ′ corresponding to the common key K is generated
  • a signature text ⁇ corresponding to the ciphertext C ′ is generated using the signature key sk by executing a predetermined signature algorithm
  • the ciphertext C Data including ', the verification key vk, and the signature text ⁇ is output as cipher text C.
  • the decapsulation means restores the ciphertext C ′, the verification key vk, and the signature text ⁇ from the ciphertext C, and the restored signature text ⁇ The validity is verified using the verification key vk, and the ciphertext C ′ is decapsulated to obtain the common key K.
  • FIG. 1 is a flowchart showing a procedure of encapsulation in a conventional broadcast type encryption.
  • FIG. 2 is a flowchart showing an encapsulation procedure in the conventional broadcast type encryption.
  • FIG. 3 is a block diagram showing the configuration of the broadcast encryption system according to the embodiment of the present invention.
  • FIG. 4 is a block diagram illustrating an exemplary configuration of the authority device, the sender device, and the user device.
  • FIG. 5 is a flowchart showing the encapsulation procedure in the broadcast encryption system according to the first embodiment of the present invention.
  • FIG. 6 is a flowchart showing a decapsulation procedure in the broadcast encryption system according to the first embodiment of the present invention.
  • FIG. 7 is a flowchart showing the encapsulation procedure in the broadcast type cryptographic system according to the third embodiment of the present invention.
  • FIG. 8 is a flowchart showing a decapsulation procedure in the broadcast encryption system according to the third embodiment of the present invention.
  • the broadcast encryption method BE ′ (Setup ′, Extract ′, Encap ′, Decap ′) is implemented in the transmission / reception system shown in FIG.
  • Setup ′, Extract ′, Encap ′, and Decap ′ are a set-up algorithm, an extraction algorithm, an encapsulation algorithm, and a decapsulation algorithm that constitute the broadcast encryption scheme BE ′, respectively.
  • the transmission / reception system 1 of the present embodiment is realized using these algorithms as subroutines.
  • the broadcast type cryptographic system of this embodiment involves three types of entities: an authorized person, a sender, and a user.
  • the authorized person, the sender, and the user use the authorized person device 100, the sender device 200, and the user devices 300-1 to 300-n, respectively.
  • FIG. 4 is a block diagram showing an example of the configuration of a computer for realizing the authority device 100, the sender device 200, and the user devices 300-1 to 300-n.
  • the computer includes a processing device 10, an input device 20, and an output device 30.
  • the processing device 10 executes predetermined processing according to the installed software program.
  • the input device 20 is an input device used for inputting commands and information to the processing device 10.
  • the output device 30 is an output device for outputting the processing result of the processing device 10.
  • the processing device 10 includes a CPU 11, a main storage device 12, a recording medium 13, a data storage device 14, a memory control interface unit 15, and an I / O interface unit 16, which are connected to each other via a bus 18. ing.
  • the CPU 11 is a processor that executes a software program installed in each device.
  • the main storage device 12 temporarily stores information necessary for the processing of the CPU 11.
  • the recording medium 13 stores a program to be executed by the CPU 11.
  • the data storage device 14 stores secret information and access structure data.
  • the memory control interface unit 15 is an interface device that controls writing and reading of data in the main storage device 12, the recording medium 13, or the data storage device 14.
  • the I / O interface unit 16 is an interface device that controls data input / output with the input device 20 and the output device 30. Through this interface device, data is transmitted and received using a channel.
  • the authority device 100 has a setup unit 101 and an extraction unit 102
  • the sender device 200 has an encapsulation unit 201
  • the user devices 300-1 to 300-n have a decapsulation unit 301.
  • the setup unit 101, the extraction unit 102, the encapsulation unit 201, and the decapsulation unit 301 are respectively a setup algorithm Setup ′, an extraction algorithm Extract ′, and a capsule in the broadcast encryption scheme BE ′ used in this embodiment.
  • the encapsulating algorithm Encap ′ and the decapsulating algorithm Decap ′ are executed, and in this embodiment, implemented by a software program.
  • the setup unit 101, the extraction unit 102, the encapsulation unit 201, and the decapsulation unit 301 may be realized by any of software, hardware, and a combination thereof.
  • the common key encryption method PriChi (Enc, Dec) is used in combination.
  • Enc and Dec are encryption and decryption algorithms in the common key encryption method PriChi, respectively.
  • Any common key encryption method may be used as the common key encryption method PriChi.
  • AES encryption or DES encryption may be used.
  • the sender device 200 has a common key encryption unit 202 that executes the encryption algorithm Enc, and the user devices 300-1 to 300-n are common to the decryption algorithm Dec. It has key decryption units 302-1 to 302-n.
  • the authorized person first determines the security parameter ⁇ .
  • the security parameter ⁇ is known to all entities, and the security parameter ⁇ is stored in the recording medium 13 of the authority device 100, the sender device 200, and the user devices 300-1 to 300-n.
  • the assumed maximum number of user apparatuses 300 is n.
  • the authorized person When the authorized person inputs the security parameter ⁇ and the number of users n to the authorized person device 100 and further executes the setup algorithm Setup ′ by the setup unit 101, the public parameter param and the master key mk are obtained as outputs thereof. Further, the authority device 100 publishes the public parameter param and stores the master key mk in the recording medium 13.
  • the public parameter param must be disclosed by a method in which the sender and the user can receive the public parameter param using the I / O interface unit 16 of the sender device 200 and the user device 300, respectively. Such publication can be performed by using, for example, PKI (Public Key Infrastructure).
  • the extraction unit 10 of the authority device 100 reads the security parameter ⁇ , the public parameter param, and the master key mk from the recording medium 13, and receives the security parameter ⁇ , the public parameter param, the user ID j, and the master key mk as inputs.
  • the extraction algorithm Extract ′ is executed, and the secret key dk j of the user j is obtained as the output.
  • the private key dk j is sent to the user device 300-j of the user j using the I / O interface unit 16.
  • the first policy is that when the authority device 100 publishes the public parameter param, the secret key of all users is generated and the secret key is transmitted to each user.
  • the second policy is to generate a secret key of the user device 300- j and transmit the secret key dk j when a request is received from the user device 300-j. Either policy may be adopted depending on the application.
  • the sender device 200 receives the param and stores it in the recording medium 13.
  • the sender determines a set S ⁇ ⁇ 1,..., N ⁇ of users who want to send plaintext M, and inputs the set S and plaintext M to the sender apparatus 200.
  • the sender apparatus 200 reads the security parameter ⁇ and the public parameter param from the recording medium 13, executes the encapsulation algorithm Encap ′ with the security parameter ⁇ , the public parameter param, and the set S as inputs, and the ciphertext C as an output.
  • a common key K is obtained.
  • the common key ciphertext Cipher is obtained by executing the encryption algorithm Enc with the common key K and the plaintext M as inputs.
  • the sender device 200 broadcasts the set S, the ciphertext C, and the common key ciphertext Cipher to the user devices 300 of the users belonging to the set S using the I / O interface unit 16.
  • the user device 300 of a user who does not belong to the set S may receive the set S, the ciphertext C, and the common key Cipher.
  • the user apparatus 300-j When the user apparatus 300-j receives the set S, the ciphertext C, and the common key Cipher, it checks whether or not its own ID j is in the set S. If its own ID j is in the set S, the user apparatus 300-j receives the security parameter ⁇ , its own ID j, the private key dk j , the set S, and the ciphertext C as input and decapsulation algorithm Decap 'is executed, and the common key K is obtained as its output. Further, the user apparatus 300-j executes the decryption algorithm Dec ′ with the common key K and the common key ciphertext Cipher as inputs, and obtains plaintext M as the output.
  • the broadcast type encryption method that is safe against the CCA2 attack is the subject of the broadcast type encryption method of the present embodiment.
  • the CCA2 attack that replaces a part of the ciphertext with another data is effectively prevented.
  • the ciphertext is created not only depending on the user subset S but also on the verification key vk. Thereby, it is possible to prevent an attack in which only the verification key vk and the signature text are replaced with different ones without changing the cipher text.
  • the broadcast type encryption system of this embodiment is demonstrated in detail.
  • the signature method used in this embodiment is written as SGN
  • the key generation algorithm, signature algorithm, and verification algorithm of the signature method SGN are written as Kg, Sig, and Ver, respectively.
  • Any signature scheme SGN may be used as long as it satisfies the one-time strong non-counterfeitability.
  • a Schnorr signature can be used.
  • a hash function for obtaining a hash value is denoted as H.
  • T [vk] is associated with each verification key vk ⁇ ⁇ 0, 1 ⁇ ⁇ .
  • T [vk] may be selected in any way, but from the viewpoint of safety, it is desirable that T [vk] satisfy the following properties.
  • T [vk 1 ] ⁇ T [vk 2 ] contains at least one element.
  • T [vk] ⁇ n + 2i
  • H (vk) is 0 ⁇ , the above-described property is satisfied. It is.
  • the setup unit 101 and the extraction unit 102 of the authority device 100, the encapsulation unit 201 of the sender device 200, and the decapsulation unit 301 of the user device 300 operate as follows.
  • the operation of the setup unit 101 of the authority device 100 is as follows:
  • the security parameter ⁇ and the number of people n are received as inputs.
  • the setup algorithm Setup ′ is executed with the security parameters ⁇ and n + 2 ⁇ as inputs, and the public parameter param and the master key mk are obtained.
  • the public parameter param and the master key mk are output.
  • the output public parameter param and master key mk are supplied to the extraction unit 102.
  • the public parameter param is further supplied to the encapsulation unit 201 of the sender device 200 and the decapsulation unit 301 of the user device 300.
  • the extraction unit 102 operates as follows: It receives the security parameter ⁇ , the public parameter param, the user ID j ⁇ ⁇ 1,..., N ⁇ , and the master key mk.
  • the extraction algorithm Extract ′ is executed with the security parameter ⁇ , the public parameter param, the user ID j, and the master key mk as inputs, and the secret key dk j is obtained as the output.
  • the secret key dk j is output.
  • the output secret key dk j is supplied to the user device 300-j.
  • the encapsulation unit 201 of the sender device 200 operates as follows: A security parameter ⁇ , a public parameter param, and a subset S of ⁇ 1,..., N ⁇ are received as inputs (step S501).
  • the security parameter ⁇ is input and the key generation algorithm Kg is executed to obtain the verification key vk and the signature key sk (step S502).
  • the encapsulation algorithm Encap ′ is executed on the security parameter ⁇ , the public parameter param, and the set S ⁇ T [vk] to obtain the ciphertext C ′ and the shared key K (step S503).
  • the signature algorithm Sig is executed with C ′ and S concatenation C ′
  • the ciphertext C is broadcast to the user device 300.
  • the common key K is delivered to the common key encryption unit 202 of the sender device 200. As described above, the common key K is used by the common key encryption unit 202 to encrypt the plaintext M to generate the ciphertext Cipher.
  • S, the verification key vk, and the signature sentence candidate ⁇ are input to execute the verification algorithm Ver, and the validity of the signature sentence ⁇ is verified using the verification key vk. Verification is performed (step S602).
  • the verification algorithm Ver outputs a character string that means “reject”, the character string that means that the ciphertext is invalid is output and the process ends (step S603). Otherwise, the security parameter ⁇ , the set S ⁇ T [vk], the ciphertext C ′, the user ID j, and the secret key dk j are input to execute the decapsulation algorithm Decap ′, and the common key is output as K is obtained (step S604). The obtained common key K is output (step S605).
  • the common key decryption unit 302 of the user device 300-j can decrypt the ciphertext Cipher sent from the user device 300 using the obtained common key K and obtain the plaintext M.
  • SGN is used as a signature method
  • the SGN key generation algorithm, signature algorithm, and verification algorithm are written as Kg, Sig, and Ver, respectively.
  • Any signature scheme SGN may be used as long as it satisfies the one-time strong non-counterfeitability.
  • a Schnorr signature can be used.
  • H be a hash function.
  • G and T be a finite group whose order is q.
  • G ⁇ G ⁇ T be a bilinear map.
  • G an elliptic curve
  • Weil Pairing on G can be used as e
  • the multiplicative group of the cyclic group can be used as T.
  • q is preferably 160 bits or more.
  • G is an elliptic curve
  • the sum of two elements g and h of G may be expressed as “g + h”, but according to Non-Patent Document 1, it is expressed as “gh” instead of “g + h”.
  • the scalar multiple of the original element g of G by x of Z / qZ is sometimes expressed as “ag”, it is expressed as “ga” instead of “ag” according to Non-Patent Document 1.
  • the public parameter param and the master key mk are output.
  • the output public parameter param and master key mk are supplied to the extraction unit 102.
  • the public parameter param is further supplied to the encapsulation unit 201 of the sender device 200 and the decapsulation unit 301 of the user device 300.
  • r is randomly selected from Z / qZ.
  • Calculate d 0 g ⁇ r .
  • Calculate d j g ⁇ h j r .
  • d i h i r is calculated.
  • the output secret key dk j is supplied to the user device 300-j.
  • the encapsulation unit 201 of the sender device 200 operates as follows: A security parameter ⁇ , a public parameter param, and a subset S of ⁇ 1,..., N ⁇ are received as inputs.
  • the key generation algorithm Kg is executed with the security parameter ⁇ as an input, and a verification key vk and a signature key sk are obtained as outputs thereof.
  • is randomly selected from Z / qZ.
  • S of u, v and S and the signature key sk are input to execute the signature algorithm Sig, and a signature sentence ⁇ is obtained as an output thereof.
  • the ciphertext C is broadcast to the user device 300.
  • the common key K is delivered to the common key encryption unit 202 of the sender device 200. As described above, the common key K is used by the common key encryption unit 202 to encrypt the plaintext M to generate the ciphertext Cipher.
  • S, the verification key vk, and the signature sentence ⁇ are input, and the verification algorithm Ver is executed. To verify. If the verification algorithm Ver outputs a character string that means “reject”, a character string that means that the ciphertext is invalid is output and the process ends.
  • the public key K is output.
  • the common key decryption unit 302 of the user device 300-j can decrypt the ciphertext Cipher sent from the user device 300 using the obtained common key K and obtain the plaintext M.
  • the set S ⁇ T [vk] is input to the encapsulation algorithm Encap ′ and the decapsulation algorithm Decap ′.
  • the set W including the set S ⁇ T [vk] is used as the encapsulation algorithm Encap ′ or It may be an input of the encapsulation algorithm Decap ′.
  • the broadcast encryption scheme BE ′ (Setup ′, Extract ′, Encap ′, Decap ′) is used together with the signature scheme, and the entire ciphertext is signed. Is called. This prevents tampering with the ciphertext and effectively prevents a CCA2 attack that replaces part of the ciphertext with other data.
  • a ciphertext is created depending on not only the user subset S but also the verification key vk. Thereby, it is possible to prevent an attack in which only the verification key vk and the signature text are replaced with different ones without changing the cipher text.
  • the setup unit 101 and the extraction unit 102 of the authority device 100, the encapsulation unit 201 of the sender device 200, and the decapsulation unit 301 of the user device 300 are different from the first embodiment. Works in different ways. Hereinafter, the operation of each unit in the second embodiment will be described in detail.
  • SGN is used as a signature scheme
  • the SGN key generation unit, signature unit, and verification unit are set to Kg, Sig, Write Ver.
  • Any SGN may be used as long as it satisfies the one-time strong forgery property, and for example, a Schnorr signature can be used.
  • H be a hash function.
  • PriChi (Enc, Dec) is a common key encryption method used by the common key encryption unit 202 and the common decryption unit 203, and Enc and Dec are encryption and decryption in the common key encryption method PriChi, respectively. Is the algorithm.
  • T [vk] is associated with each verification key vk ⁇ ⁇ 0, 1 ⁇ ⁇ .
  • T [vk] may be selected in any way, but from the viewpoint of safety, it is desirable that T [vk] satisfy the following properties.
  • T [vk] ⁇ T [vk2] includes at least one element.
  • the setup unit 101 operates as follows: The security parameter ⁇ and the number of people n are received as inputs.
  • the public parameter param and the master key mk are output.
  • the output public parameter param and master key mk are supplied to the extraction unit 102.
  • the public parameter param is further supplied to the encapsulation unit 201 of the sender device 200 and the decapsulation unit 301 of the user device 300.
  • the extraction algorithm Extract ′ is executed with the security parameter ⁇ , the public parameter param, j ⁇ s j , and the master key mk ′ as inputs, and a secret key dk ′ j is obtained as an output thereof.
  • the output secret key dk j is supplied to the user device 300-j.
  • the encapsulation unit 201 operates as follows: A security parameter ⁇ , a public parameter param, and a subset S of ⁇ 1,..., N ⁇ are received as inputs (step S701).
  • the key generation algorithm Kg is executed with the security parameter ⁇ as an input, and a verification key vk and a signature key sk are obtained as outputs thereof (step S702).
  • a bit ti is randomly selected for each i belonging to the subset S (step S703). ⁇ T i ⁇ i ⁇ S is written as t.
  • a common key K is randomly selected from the key space of the common key cryptosystem PhiChi (step S705).
  • the encapsulation algorithm Encap ' is executed with the security parameter ⁇ , the public parameter param, and the set S [0] ⁇ T [vk] as inputs, and the ciphertext C [0] and the shared key ⁇ [0] are obtained as outputs ( Step S706).
  • the common key cryptosystem Sym (SymEnc, SymDec)
  • the above-described common key cryptosystem PhiChi can be used.
  • the encapsulating algorithm Encap ' is executed by inputting the security parameter ⁇ , the public parameter param, and the set S [1] ⁇ ⁇ ⁇ ⁇ ⁇ T [vk], and the ciphertext C [1] and the shared key ⁇ [1] are obtained as output.
  • Step S707 By inputting ⁇ [1] as a shared key and K as a plaintext to the encryption algorithm SymEnc, a ciphertext L [1] is obtained (step S707). Concatenation of C [0], L [0], C [1], L [1], t, and S C [0]
  • S and the signature key sk are input to execute the signature algorithm Sig, and a signature sentence ⁇ is obtained as an output (step S708).
  • the ciphertext C (C [0], L [0], C [1], L [1], t, vk, ⁇ ), and outputs the ciphertext C and the common key K (step S709).
  • the ciphertext C is broadcast to the user device 300.
  • the common key K is delivered to the common key encryption unit 202 of the sender device 200. As described above, the common key K is used by the common key encryption unit 202 to encrypt the plaintext M to generate the ciphertext Cipher.
  • the decapsulation algorithm Decap ' is executed with the security parameter ⁇ , the secret key dk ′ j , the set S [ ⁇ ] ⁇ T [vk] and the ciphertext C [ ⁇ ] as inputs, and the common key ⁇ [ ⁇ ] as the output Obtain (step S806).
  • the decryption algorithm SymDec of the common key cryptosystem Sym (SymEnc, SymDec) is executed with the common key ⁇ [ ⁇ ] and the common key ciphertext L [ ⁇ ] as inputs, and the output is obtained as the common key K (step S807). ).
  • the common key K is output (step S808).
  • the common key decryption unit 302 of the user device 300-j can decrypt the ciphertext Cipher sent from the user device 300 using the obtained common key K, and obtain the plaintext M.
  • the i-th bit of (vk) is defined by 0 ⁇ .
  • the output secret key dk j is supplied to the user device 300-j.
  • the encapsulation unit 201 of the sender device 200 operates as follows: A security parameter ⁇ , a public parameter param, and a subset S of ⁇ 1,..., N ⁇ are received as inputs.
  • the security parameter ⁇ is input to execute the key generation algorithm Kg, and a verification key vk and a signature key sk are obtained as outputs thereof.
  • a bit t i is randomly selected for each i belonging to S. ⁇ T i ⁇ i ⁇ S is written as t.
  • a common key K is randomly selected from the key space of the common key cryptosystem PhiChi.
  • u [0] g ⁇ is calculated.
  • v [0] ⁇ i ⁇ S [0] ⁇ T [vk] h i ⁇ is calculated.
  • ⁇ [0] A ⁇ is calculated.
  • is randomly selected from Z / qZ.
  • v [1] ⁇ i ⁇ S [1] ⁇ T [vk] h i ⁇ is calculated.
  • Calculate ⁇ [1] A ⁇ .
  • the ciphertext L [1] is obtained by executing the encryption algorithm SymEnc using ⁇ [1] as the shared key and K as the plaintext to be encrypted.
  • the key K is output.
  • the above calculation is It will be understood that this corresponds to the operation of the encapsulation unit 201 in the third embodiment.
  • the ciphertext C is broadcast to the user device 300.
  • the common key K is delivered to the common key encryption unit 202 of the sender device 200. As described above, the common key K is used by the common key encryption unit 202 to encrypt the plaintext M to generate the ciphertext Cipher.
  • ⁇ [ ⁇ ] e (d i ⁇ ⁇ i ⁇ S [ ⁇ ] ⁇ T [vk] ⁇ ⁇ j ⁇ d i , u [ ⁇ ]) ⁇ e (d 0 , v [ ⁇ ]) calculate.
  • the common key K is output.
  • the common key decryption unit 302 of the user device 300-j can decrypt the ciphertext Cipher sent from the user device 300 using the obtained common key K and obtain the plaintext M.
  • the set S [0] ⁇ T [vk] and the set S [1] ⁇ T [vk] are input to the encapsulation algorithm Encap ′ and the decapsulation algorithm Decap ′, but the set S [0]
  • the set W [0] including ⁇ T [vk] and the set W [1] including the set S [1] ⁇ T [vk] may be input to the encapsulation algorithm Encap ′ or the decapsulation algorithm Decap ′.
  • the signature method is used together with the broadcast encryption method, and the ciphertext is prevented from being falsified by signing the entire ciphertext. It effectively prevents CCA2 attacks that replace parts with other data.
  • the ciphertext is created not only depending on the user subset S but also on the verification key vk. Thereby, it is possible to prevent an attack in which only the verification key vk and the signature text are replaced with different ones without changing the cipher text.

Abstract

 放送型暗号システムが、送信者装置200と、複数のユーザ装置300とを備えている。送信者装置200は、署名鍵skと検証鍵vkとを生成し、共通鍵Kを決定し、所定のカプセル化アルゴリズムを実行することによって復号可能と指定されたユーザのIDの集合Sと検証鍵vkに依存して共通鍵Kに対応する暗号文C'を生成し、所定の署名アルゴリズムを実行することにより暗号文C'に対応する署名文σを署名鍵skを使って生成し、暗号文C'と検証鍵vkと署名文σとを含むデータを暗号文Cとして出力するように構成されている。ユーザ装置300は、自己に割り当てられたIDが集合Sに含まれている場合、暗号文Cから暗号文C'と検証鍵vkと署名文σとを復元し、復元された署名文σの正当性を検証鍵vkを使って検証し、暗号文C'を脱カプセル化して共通鍵Kを得るように構成されている。こうして、CCA2攻撃に対して安全な放送型暗号方式を提供する。

Description

放送型暗号システム、送信者装置、ユーザ装置、カプセル化/脱カプセル化方法
 本発明は、放送型暗号システム、送信者装置、ユーザ装置、カプセル化/脱カプセル化方法、送信者装置及びユーザ装置の動作方法、並びにプログラムに関し、特に、放送型暗号におけるカプセル化及び脱カプセル化に関する。
 放送型暗号方式(BE: Broadcast Encryption)とは、送信者により指定されたユーザ(受信者)のみが復号できる暗号文を生成する暗号方式である。同一のメッセージMをn人のユーザに送信しようとする場合、単純に公開鍵暗号方式を用いると、送信者は、メッセージMからn個の暗号文を生成する必要がある。しかしながら、放送型暗号方式を用いれば、送信者が複数のユーザに同じメッセージを送信する場合に暗号化の手間を軽減することができる。放送型暗号方式の例としては、例えば、非特許文献1、非特許文献2に開示された方式がある。
 典型的な放送型暗号方式は、共通鍵暗号方式と組み合わせて使用される。即ち、送信者は、共通鍵暗号方式の共通鍵Kを放送型暗号方式によって暗号化することにより、送信者により指定された特定ユーザのみが復号できる暗号文Cを生成し、生成された暗号文Cを放送する。特定ユーザは、暗号文Cを復号して共通鍵Kを取得する。更に送信者は、送信したい平文Mを共通鍵を用いて暗号化することにより暗号文Cipherを放送する。特定ユーザは、取得された共通鍵Kを用いて暗号文Cipherを復号化し、平文Mを得る。特定ユーザ以外のユーザは、共通鍵Kを取得できないので、暗号文Cipherを復号化することができず、よって平文Mを得ることはできない。
 放送型暗号方式は、一般に、“セットアップ”(setup)、“抽出”(extraction)、“カプセル化”(encapsulation)、“脱カプセル化”(decapsulation)の4つのアルゴリズムを組み合わせて構成される。各アルゴリズムは、下記のような処理を行う:
 “セットアップ”は、セキュリティ・パラメータλとユーザの総数nを受信して、公開パラメータparamとマスター鍵mkを出力する。
 “抽出”は、セキュリティ・パラメータλ、公開パラメータparam、ユーザのID∈{1,...,n}、およびマスター鍵mkを受信して、ユーザjの秘密鍵dkを出力する。
 “カプセル化”は、セキュリティ・パラメータλ、公開パラメータparam、{1,...,n}の部分集合Sを受信して、共通鍵Kを出力する。同時に、共通鍵Kを暗号化した暗号文Cを出力する。ここで、部分集合Sは、暗号文Cの復号化を許可するユーザのIDの集合である。
 “脱カプセル化”は、セキュリティ・パラメータλ、ユーザのID、秘密鍵dk、部分集合S、および暗号文Cを受信して、暗号文Cを復号化して共通鍵Kを出力する。
 以下では、“セットアップ”、“抽出”、“カプセル化”、“脱カプセル化”のアルゴリズムが、それぞれ、Setup、 Extract、 Encap、 Decapであるような放送型暗号方式のアルゴリズムを、放送型暗号方式BE=(Setup,Extract,Encap,Decap)と記載することにする。
 C. GentryとB. Watersは、非特許文献1において、2つの放送型暗号方式を開示している。以下では、まず、非特許文献1に開示されている第1の放送型暗号方式について、より具体的には、第1の放送型暗号方式の“セットアップ”、“抽出”、“カプセル化”、“脱カプセル化”の4つのアルゴリズムについて説明する(非特許文献1のp.8、"3.1 Our Construction"参照)。
 以下の説明では、下記のような表記法を用いる。qを素数とし、G、GTをいずれも位数がqである有限群とする。さらにe:G×G→GTを双線形写像とする。例えばGとして楕円曲線を使い、eとしてG上のWeil Pairingを使い、GTとして巡回群の乗法群の部分群を使うことができる.安全上の観点からいえば、qは160ビット以上あることが望ましい。Gが楕円曲線の場合Gの2つの元g、hの和を「g+h」と表記することもあるが、非特許文献1に従い「g+h」ではなく「gh」と表記する。またZ/qZのxによるGの元gのスカラー倍を「ag」と表記することもあるが、非特許文献1に従い「ag」ではなく「ga」と表記する.
(第1の放送型暗号方式)
 “セットアップ”では、下記の処理を行う:
 ユーザの人数nを受けとる。
 αをZ/qZからランダムに選び、αをマスター鍵mkとする。
 g,h,…,hをGからランダムに選ぶ。
 A=e(g,g)αを計算する。
 公開パラメータparamをparam=(g,h,…,h,A)とする。
 公開パラメータparamとマスター鍵mkを出力する。
 “抽出”では、下記の処理を行う:
 セキュリティ・パラメータλ、ユーザのID j∈{1,…,n}、およびマスター鍵mk(=α)を受けとる。
 rをZ/qZからランダムに選ぶ。
 d=g-rを計算する。
 d=gα を計算する。
 j以外のi∈{1,…,n}に対し、d=h を計算する。
 dk=(d,d,…,d)とし、秘密鍵dkを出力する。
 “カプセル化”では、下記の処理を行う:
 セキュリティ・パラメータλ、公開パラメータparam、および{1,…,n}の部分集合Sを受けとる。
 ρをZ/qZからランダムに選ぶ。
 u=gρを計算する。
 v=Π∈Sh ρを計算する。
 公開鍵Kを下記式:
 K=Aρにより算出する。
 C=(u,v)とし、暗号文Cと共通鍵Kを出力する。
 “脱カプセル化”では、下記の処理を行う:
 セキュリティ・パラメータλ、ユーザのID j、秘密鍵dk=(d,d,…,d),{1,…,n}の部分集合S、および暗号文C=(u,v)を受けとる。
 e(u,Π∈Sh)≠e(v,g)なら暗号文が不正であることを意味する文字列を出力して終了する。
 そうでなければ、下記の式により、共通鍵Kを計算する。
 K=e(d・Π∈S\{j}d,u)・e(d,v)
 公開鍵Kを出力する。
(第2の放送型暗号方式)
 上述の第1の放送型暗号方式に加えて、非特許文献1では、放送型暗号をサブルーチンとして用いて、より安全な放送型暗号方式を構築する手法も提案されている(非特許文献1の"2.3 Transforming Semi-Static Security to Adaptive Security"参照)。以下では、非特許文献1において提案されている、もう一つの放送型暗号方式(以下、「第2の放送型暗号方式」という。)について説明する。
 第2の放送型暗号方式の構築に使用される任意の放送型暗号方式をBE’=(Setup’,Extract’,Encap’,Decap’)とする。放送型暗号方式BE’としては、例えば、上述の第1の放送型暗号方式が使用可能である。更に、Sym=(SymEnc,SymDec)を、第2の放送型暗号方式で使用される共通鍵暗号方式とする。ここでSymEnc、SymDecは、それぞれ、共通鍵暗号方式Symにおける暗号化、復号化のアルゴリズムである。共通鍵暗号方式Symとしてどのような共通鍵暗号方式を用いてもよいが、たとえばAES(Advanced Encryption Standard)暗号や、DES(Data Encryption Standard)暗号を利用することができる。また、共通鍵暗号方式Symとしては、単純に秘密鍵と平文の排他的論理和を取る、という共通鍵暗号方式も使用可能である。以下では、非特許文献1に開示されている第2の放送型暗号方式について詳細に説明する。
 “セットアップ”では、下記の処理が行われる:
 セキュリティ・パラメータλと人数nを受けとる。
 λと2nを入力としてアルゴリズムSetup’を実行し、その出力として公開パラメータparamとマスター鍵mk’を得る。
 ビットs0、…、snをランダムに選び、mk=(mk’,s0,…,sn)とする。
 公開パラメータparamとマスター鍵mkを出力する。
 “抽出”では、下記の処理が行われる:
 セキュリティ・パラメータλ、公開パラメータparam、ユーザのID j∈{1,…,n}、およびマスター鍵mk=(mk’,s,…,s)を受けとる。
 j-sjとmk’を入力としてアルゴリズムExtract’を実行し、その出力として秘密鍵dk を得る。
 dk=(dk ,s)とし、秘密鍵dkを出力する。
 図1に図示されているように、“カプセル化”では、下記の処理が行われる:
 セキュリティ・パラメータλ、公開パラメータparam、および{1,…,n}の部分集合Sを受けとる(ステップS101)。
 部分集合Sに属する各ユーザID iに対しビットtをランダムに選ぶ(ステップS102)。以下では、{t∈Sをtと書く。
 集合S[0]をS[0]={2i-t:i∈S}により定義し、集合S[1]をS[1]={2i-(1-t):i∈S}により定義する(ステップS103)。
 暗号化アルゴリズムSymEncの鍵空間から共通鍵Kをランダムに選ぶ(ステップS104)。
 セキュリティ・パラメータλ、公開パラメータparam、および集合S[0]を入力してカプセル化アルゴリズムEncap’を実行し、暗号文C[0]と共有鍵κ[0]を得る(ステップS105)。
 κ[0]を共有鍵として共通鍵Kを平文として暗号化アルゴリズムSymEncに入力することで、暗号文L[0]を得る(ステップS105)。
 セキュリティ・パラメータλ、公開パラメータparam、および集合S[1]を入力してカプセル化アルゴリズムEncap’を実行し、出力として暗号文C[1]と共有鍵κ[1]を得る(ステップS106)。
 κ[1]を共有鍵として共通鍵Kを平文として暗号化アルゴリズムSymEncに入力することで暗号文L[1]を得る(ステップS106)。
 C=(C[0],L[0],C[1],L[1],t)とし、暗号文Cと共通鍵Kを出力する(ステップS107)。
 また、図2に示されているように、“脱カプセル化”では、下記の処理が行われる:
 セキュリティ・パラメータλ、ユーザのID j、秘密鍵dk=(dk 、s)、{1,…,n}の部分集合S、および暗号文C=(C[0],L[0],C[1],L[1],t)を入力として受けとる(ステップS201)。
 sとtの排他的論理和ηを算出する(ステップS202)。
 集合S[0]をS[0]={2i-t:i∈S}により定義し、集合S[1]をS[1]={2i-(1-t):i∈S}により定義する(ステップS203)。
 セキュリティ・パラメータλ、秘密鍵dk 、集合S[η]、暗号文C[η]を入力として脱カプセル化アルゴリズムDecap’を実行し、共通鍵κ[η]を得る(ステップS204)。
 共通鍵κ[η]と共通鍵暗号文L[η]とを入力として復号化アルゴリズムSymDecを実行し、その出力として共通鍵Kを得る(ステップS205)。
 共通鍵Kを出力する(ステップS206)。
 「攻撃者は解読したい暗号文Cとは別の暗号文C’を正規の受信者に復号して貰い、その復号情報を使って暗号文Cを解読する」という攻撃方法は、CCA2攻撃と呼ばれる。非特許文献1の第2の放送型暗号方式は、このCCA2攻撃に対して安全ではない。以下では、その理由を説明する。以下の説明において、Sをユーザの部分集合とし、C=(C[0],L[0],C[1],L[1],t)とKを、それぞれ、非特許文献1のカプセル化手段で作った暗号文と共通鍵とし、Cipherを共通鍵Kを鍵として作った共通鍵暗号文とする。(S,C,Cipher)は、以下のようなCCA2攻撃で解読できてしまう。
 集合S[1]をS[1]={2i-(1-t):i∈S}により定義し、セキュリティ・パラメータλ、公開パラメータparam、および集合S[1]を入力してカプセル化アルゴリズムEncap’を実行し、出力として暗号文C’[1]と共有鍵κ’[1]を得る。
 κ’[1]を共有鍵としてKを平文として暗号化アルゴリズムSymEncに入力することで、暗号文L’[1]を得る。 sとtの排他的論理和ηが1になるj∈Sを選ぶ。
 C’=(C[0],L[0],C’[1],L’[1],t)を正規のユーザjに復号して貰い、復号結果として共通鍵Kを得る。 得られた共通鍵Kを使って共通鍵暗号文Cipherを復号する。
 以上の記述から分かるように非特許文献1の第二の方式がCCA2攻撃に対して安全ではないのは、暗号文C=(C[0],L[0],C[1],L[1],t)の一部分である(C[1],L[1])を別のデータ(C’[1],L’[1])に取り替えることができてしまうことが原因である。このようなCCA2攻撃に対しても安全な放送型暗号方式を実現することが望まれる。
Craig Gentry and Brent Waters. Adaptive Security in Broadcast EncryptionSystems. eprint. http://eprint.iacr.org/2008/268 Dan Boneh, Craig Gentry, Brent Waters, Collusion Resistant Broadcast Encryption with Short Ciphertexts and Private Keys. CRYPTO 2005. pp. 258-275.
 本発明の目的は、CCA2攻撃に対しても安全な放送型暗号方式を提供することにある。
 本発明の一の観点においては、放送型暗号システムが、カプセル化手段と、複数の脱カプセル化手段とを備えている。カプセル化手段は、署名鍵skと検証鍵vkとを生成し、共通鍵Kを決定し、所定のカプセル化アルゴリズムを実行することによって復号可能と指定されたユーザのIDの集合Sと検証鍵vkに依存して共通鍵Kに対応する暗号文C’を生成し、所定の署名アルゴリズムを実行することにより暗号文C’に対応する署名文σを署名鍵skを使って生成し、暗号文C’と検証鍵vkと署名文σとを含むデータを暗号文Cとして出力するように構成されている。脱カプセル化手段は、自己に割り当てられたIDが集合Sに含まれている場合、暗号文Cから暗号文C’と検証鍵vkと署名文σとを復元し、復元された署名文σの正当性を検証鍵vkを使って検証し、暗号文C’を脱カプセル化して共通鍵Kを得るように構成されている。
 本発明によれば、CCA2攻撃に対して安全な放送型暗号方式を提供することができる。
図1は、従来の放送型暗号におけるカプセル化の手順を示すフローチャートである。 図2は、従来の放送型暗号におけるカプセル化の手順を示すフローチャートである。 図3は、本発明の一実施形態の放送型暗号システムの構成を示すブロック図である。 図4は、権限者装置、送信者装置、ユーザ装置の構成の例を示すブロック図である。 図5は、本発明の第1の実施形態の放送型暗号システムにおけるカプセル化の手順を示すフローチャートである。 図6は、本発明の第1の実施形態の放送型暗号システムにおける脱カプセル化の手順を示すフローチャートである。 図7は、本発明の第3の実施形態の放送型暗号システムにおけるカプセル化の手順を示すフローチャートである。 図8は、本発明の第3の実施形態の放送型暗号システムにおける脱カプセル化の手順を示すフローチャートである。
 以下に添付図面を参照して、本発明による放送型暗号システムについて詳細に説明する。
 [第1の実施形態]
 本発明の放送型暗号システムの第1の実施形態では、放送型暗号方式BE’=(Setup’,Extract’,Encap’,Decap’)が、図3に示された送受信システムに実装される。ここで、Setup’、Extract’、Encap’、Decap’は、それぞれ、放送型暗号方式BE’を構成するセットアップアルゴリズム、抽出アルゴリズム、カプセル化アルゴリズム、脱カプセル化アルゴリズムである。本実施形態の送受信システム1は、これらのアルゴリズムをサブルーチンとして用いて実現される。
 まず、本実施形態の放送型暗号システムの概略を、図3を参照しながら説明する。本実施形態の放送型暗号システムには、権限者、送信者、ユーザの3種類のエンティティが関わる。権限者、送信者、ユーザは、それぞれ、権限者装置100、送信者装置200、及びユーザ装置300-1~300-nを使う。本実施形態では、ユーザはn人であり、各ユーザにはIDが割り当てられている。ユーザ装置300-i(i=1~n)は、IDがiであるユーザが使用するユーザ装置である。
 図4は、権限者装置100、送信者装置200、及びユーザ装置300-1~300-nを実現するためのコンピュータの構成の例を示すブロック図である。図4を参照すると、コンピュータは、処理装置10、入力装置20、および出力装置30を備えている。処理装置10は、インストールされたソフトウェアプログラムにしたがって所定の処理を実行する。入力装置20は、処理装置10に対するコマンドや情報の入力に用いられる入力装置である。出力装置30は、処理装置10の処理結果を出力するための出力装置である。また処理装置10は、CPU11、主記憶装置12、記録媒体13、データ蓄積装置14、メモリ制御インターフェース部15、およびI/Oインターフェース部16を有し、それらがバス18を介して相互に接続されている。CPU11は、各装置にインストールされたソフトウェアプログラムを実行するプロセッサである。主記憶装置12は、CPU11の処理に必要な情報を一時的に記憶する。記録媒体13は、CPU11により実行されるべきプログラムを記憶している。データ蓄積装置14は、秘密情報やアクセス構造データを記憶する。メモリ制御インターフェース部15は、主記憶装置12、記録媒体13、またはデータ蓄積装置14のデータの書き込みおよび読み出しを制御するインターフェース装置である。I/Oインターフェース部16は、入力装置20および出力装置30とのデータの入出力を制御するインターフェース装置である。このインターフェース装置を介して、チャンネルを用いてのデータの送受信を行う。
 図3に戻り、権限者装置100は、セットアップ部101と抽出部102とを持ち、送信者装置200はカプセル化部201を持ち、ユーザ装置300-1~300-nは脱カプセル化部301を持つ。セットアップ部101、抽出部102、カプセル化部201、及び、脱カプセル化部301は、それぞれ、本実施形態で使用される放送型暗号方式BE’における、セットアップアルゴリズムSetup’、抽出アルゴリズムExtarct’、カプセル化アルゴリズムEncap’、及び脱カプセル化アルゴリズムDecap’を実行し、本実施形態では、ソフトウェアプログラムにより実装される。ただし、セットアップ部101、抽出部102、カプセル化部201、及び、脱カプセル化部301は、ソフトウェア、ハードウェア、及びそれらの組み合わせのいずれによって実現されてもよいことに留意されたい。
 本実施形態の送受信システムでは、放送型暗号方式BE’=(Setup’,Extract’,Encap’,Decap’)に加えて、共通鍵暗号方式PriChi=(Enc,Dec)が併用される。ここでEnc、Decはそれぞれ共通鍵暗号方式PriChiにおける暗号化、復号化のアルゴリズムである。共通鍵暗号方式PriChiとしてどのような共通鍵暗号方式を用いてもよいが、たとえばAES暗号やDES暗号を利用することができる。この共通鍵暗号方式PriChiを実装するために、送信者装置200は、暗号化アルゴリズムEncを実行する共通鍵暗号化部202を持ち、ユーザ装置300-1~300-nは復号化アルゴリズムDecによる共通鍵復号部302-1~302-nを持つ。
 本実施形態の放送型暗号方式では、まず権限者がセキュリティ・パラメータλを決める。以下、セキュリティ・パラメータλが全てのエンティティに周知されており、権限者装置100、送信者装置200、ユーザ装置300-1~300-nの記録媒体13にセキュリティ・パラメータλが記憶されていることを前提として話を進める。また、想定されるユーザ装置300の最大台数をnとする。
 権限者がセキュリティ・パラメータλとユーザの人数nを権限者装置100に入力し、更にセットアップ部101によってセットアップアルゴリズムSetup’を実行すると、その出力として公開パラメータparamとマスター鍵mkとが得られる。さらに権限者装置100は、公開パラメータparamを公開する共に、マスター鍵mkを記録媒体13に保管する。公開パラメータparamの公開は、送信者及びユーザが、それぞれ、送信者装置200、ユーザ装置300のI/Oインターフェース部16を使って公開パラメータparamを受信できる方法で行なわねばならない。このような公開は、例えば、PKI(Public Key Infrastructure)を利用することで行なえる。
 権限者装置100の抽出部10は、セキュリティ・パラメータλと公開パラメータparamとマスター鍵mkを記録媒体13から読み込み、セキュリティ・パラメータλ、公開パラメータparam、ユーザのID j、およびマスター鍵mkを入力として抽出アルゴリズムExtract’を実行し、その出力としてユーザjの秘密鍵dkを得る。そしてI/Oインターフェース部16を使って秘密鍵dkをユーザjのユーザ装置300-jに送る。秘密鍵をいつどのようなタイミングで配布するかに関しては、2つのポリシーがある。第一のポリシーは、権限者装置100が公開パラメータparamを公開する際に、全てのユーザの秘密鍵を生成して、各ユーザに秘密鍵を送信する、というものである。第二のポリシーは、ユーザ装置300-jから要求があった場合、そのユーザ装置300-jの秘密鍵を生成して秘密鍵dkを送信する、というものである。アプリケーションに応じて、どちらのポリシーを採用してもよい。
 送信者装置200は、paramを受信し、記録媒体13に保管する。送信者は、平文Mを送信したいユーザの集合S⊂{1、…、n}を決め、集合Sと平文Mを送信者装置200に入力する。送信者装置200はセキュリティ・パラメータλと公開パラメータparamを記録媒体13から読み込み、セキュリティ・パラメータλ、公開パラメータparam、および集合Sを入力としてカプセル化アルゴリズムEncap’を実行し、出力として暗号文Cと共通鍵Kを得る。更に、共通鍵Kと平文Mを入力として暗号化アルゴリズムEncを実行することで共通鍵暗号文Cipherを得る。送信者装置200は、I/Oインターフェース部16を使って集合Sに属するユーザのユーザ装置300に集合Sと暗号文Cと共通鍵暗号文Cipherをブロードキャストする。この際、集合Sに属さないユーザのユーザ装置300が集合S、暗号文C、及び共通鍵Cipherを受信できてしまってもかまわない。
 ユーザ装置300-jが集合Sと暗号文Cと共通鍵Cipherを受信したら、自分のID jが集合Sに入っているかどうかをチェックする。もし自分のID jが集合Sに入っていれば、ユーザ装置300-jは、セキュリティ・パラメータλ、自分のID j、秘密鍵dk、集合S、および暗号文Cを入力として脱カプセル化アルゴリズムDecap’を実行し、その出力として共通鍵Kを得る。更にユーザ装置300-jは、共通鍵Kと共通鍵暗号文Cipherとを入力として復号化アルゴリズムDec’を実行し、その出力として平文Mを得る。
 上述のように、CCA2攻撃に対して安全な放送型暗号方式を提供することが、本実施形態の放送型暗号方式の主題である。そして、本実施形態の放送型暗号方式では、放送型暗号方式BE’=(Setup’,Extract’,Encap’,Decap’)に署名方式を併用し、暗号文全体に署名を行うことにより暗号文の改竄を防ぎ、暗号文の一部を別のデータに取り替えるCCA2攻撃を有効に防止する。加えて、本実施形態では、ユーザの部分集合Sのみならず、検証鍵vkに依存して暗号文が作成される。これにより、暗号文を変えずに検証鍵vkと署名文のみ別のものに取り替えるという攻撃も防ぐことができる。以下では、本実施形態の放送型暗号方式について詳細に説明する。
 以下の説明では、本実施形態で使用される署名方式をSGNと書き、署名方式SGNの鍵生成アルゴリズム、署名アルゴリズム、および検証アルゴリズムを、それぞれ、Kg、Sig、Verと書く。署名方式SGNは、one-time強偽造不能性を満たすものでありさえすれば、どのようなものを用いてもよく、たとえばSchnorr署名を用いることができる。また、ハッシュ値を求めるためのハッシュ関数をHと記載する。
 本実施形態では、各検証鍵vk∈{0,1}μに対し、集合T[vk]を対応させる。どのようにT[vk]を選んでもよいが、安全性上の観点から言えば、T[vk]は次の性質を満たすことが望ましい。
 相異なる2つの検証鍵vk、vkに対し、T[vk]\T[vk]は少なくとも1つの元を含む。
例えば、集合T[vk]をT[vk]={n+2i| H(vk)の第iビットは1}∪{n+2i+1|H(vk)の第iビットは0}により定義すると上述の性質が満たされる。
 本実施形態における権限者装置100のセットアップ部101及び抽出部102、送信者装置200のカプセル化部201、並びにユーザ装置300の脱カプセル化部301は、下記のように動作する。
 まず、権限者装置100のセットアップ部101の動作は下記の通りである:
 セキュリティ・パラメータλと人数nを入力として受けとる。
 セキュリティ・パラメータλとn+2μを入力としてセットアップアルゴリズムSetup’を実行し、公開パラメータparamとマスター鍵mkを得る。
 公開パラメータparamとマスター鍵mkを出力する。
出力された公開パラメータparamとマスター鍵mkは、抽出部102に供給される。公開パラメータparamは、更に、送信者装置200のカプセル化部201と、ユーザ装置300の脱カプセル化部301に供給される。
 また、抽出部102は以下のように動作する:
 セキュリティ・パラメータλ、公開パラメータparam、ユーザのID j∈{1,…,n}、およびマスター鍵mkを受けとる。
 セキュリティ・パラメータλ、公開パラメータparam、ユーザのID j、およびマスター鍵mkを入力として抽出アルゴリズムExtract’を実行し、その出力として秘密鍵dkを得る。
 秘密鍵dkを出力する。
出力された秘密鍵dkは、ユーザ装置300-jに供給される。
 一方、図5に示されているように、送信者装置200のカプセル化部201は、下記のように動作する:
 セキュリティ・パラメータλ、公開パラメータparam、および{1,…,n}の部分集合Sを入力として受けとる(ステップS501)。
 セキュリティ・パラメータλを入力して鍵生成アルゴリズムKgを実行し、検証鍵vkと署名鍵skを得る(ステップS502)。
 セキュリティ・パラメータλ、公開パラメータparam、および集合S∪T[vk]にカプセル化アルゴリズムEncap’を実行し、暗号文C’と共有鍵Kを得る(ステップS503)。
 C’とSの連結C’||S、および署名鍵skを入力として署名アルゴリズムSigを実行し、その出力として署名文σを得る(ステップS504)。
 暗号文CをC=(C’,vk,σ)として暗号文Cと共通鍵Kとを出力する(ステップS505)。
暗号文Cは、ユーザ装置300にブロードキャストされる。一方、共通鍵Kは、送信者装置200の共通鍵暗号化部202に引き渡される。上述のように、共通鍵Kは、共通鍵暗号化部202が平文Mを暗号化して暗号文Cipherを生成するために使用される。
 更に、図6に示されているように、ユーザ装置300-jの脱カプセル化部301は、下記のように動作する:
 セキュリティ・パラメータλ、ユーザのID j、秘密鍵dk、{1,…,n}の部分集合S、および暗号文C=(C’,vk,σ)を入力として受けとる(ステップS601)。
 セキュリティ・パラメータλ、C’とSの連結C’||S、検証鍵vk、および署名文候補σを入力して検証アルゴリズムVerを実行し、署名文σの正当性を検証鍵vkを用いて検証する(ステップS602)。
 検証アルゴリズムVerが「拒否」を意味する文字列を出力したら、暗号文が不正であることを意味する文字列を出力して終了する(ステップS603)。
 そうでなければセキュリティ・パラメータλ、集合S∪T[vk]、暗号文C’、ユーザのID j、及び秘密鍵dkを入力して脱カプセル化アルゴリズムDecap’を実行し、出力として共通鍵Kを得る(ステップS604)。
 得られた共通鍵Kを出力する(ステップS605)。
ユーザ装置300-jの共通鍵復号化部302は、得られた共通鍵Kを用いてユーザ装置300から送られてきた暗号文Cipherを復号化し、平文Mを得ることができる。
[第2の実施形態]
 非特許文献1に開示されている第1の放送型暗号方式に対して第1の実施形態の手法を適用することも可能である。以下では、この場合の実施形態について説明する。以下の説明において、SGNを署名方式とし、SGNの鍵生成アルゴリズム、署名アルゴリズム、および検証アルゴリズムをそれぞれKg、Sig、Verと書く。署名方式SGNは、one-time強偽造不能性を満たすものでありさえすれば、どのようなものを用いてもよく、たとえばSchnorr署名を用いることができる。また、Hをハッシュ関数とする。
 また、以下の説明では、下記のような表記法を用いる。qを素数とし、G、Tをいずれも位数がqである有限群とする。さらにe:G×G→Tを双線形写像とする.例えばGとして楕円曲線を使い、eとしてG上のWeil Pairingを使い、Tとして巡回群の乗法群の部分群を使うことができる.安全性上の観点からいえば、qは160ビット以上あることが望ましい.Gが楕円曲線の場合Gの2つの元g、hの和を「g+h」と表記することもあるが、非特許文献1に従い「g+h」ではなく「gh」と表記する.またZ/qZのxによるGの元gのスカラー倍を「ag」と表記することもあるが、非特許文献1に従い「ag」ではなく「ga」と表記する。
 本実施形態では、検証鍵vk∈{0,1}μに対し、集合T[vk]をT[vk]={n+2i|H(vk)の第iビットは1}∪{n+2i+1|H(vk)の第iビットは0}により定義する。
 更に、検証装置100のセットアップ部101は以下のように動作する:
 人数nを入力として受けとる。
 αをZ/qZからランダムに選び、αをマスター鍵mkとする。
 g,h,…,hn+2μをGからランダムに選ぶ。 A=e(g,g)αを計算する。
 公開パラメータparamをparam=(g,h,…,hn+2μ,A)とする。
 公開パラメータparamとマスター鍵mkを出力する。
 出力された公開パラメータparamとマスター鍵mkは、抽出部102に供給される。公開パラメータparamは、更に、送信者装置200のカプセル化部201と、ユーザ装置300の脱カプセル化部301に供給される。
 権限者装置100の抽出部101は以下のように動作する:
 セキュリティ・パラメータλ、公開パラメータparam=(g,h,…,hn+2μ,A)、ユーザのID j∈{1,…,n+2μ}、およびマスター鍵mk=αを入力として受けとる。
 rをZ/qZからランダムに選ぶ。
 d=g-rを計算する。 d=gα を計算する。
 j以外のi∈{1,…,n+2μ}に対し,d=h を計算する。
 秘密鍵dkをdk=(d,d,…,dn+2μ)と決定し、秘密鍵dkを出力する。
 出力された秘密鍵dkは、ユーザ装置300-jに供給される。
 更に、送信者装置200のカプセル化部201は以下のように動作する:
 セキュリティ・パラメータλ、公開パラメータparam、および{1,…,n}の部分集合Sを入力として受けとる。
 セキュリティ・パラメータλを入力として鍵生成アルゴリズムKgを実行し、その出力として検証鍵vkと署名鍵skを得る。
 ρをZ/qZからランダムに選ぶ。
 u=gρを計算する。
 v=Π∈S∪T[vk]h ρを計算する。 uとvとSの連結u||v||S、および署名鍵skとを入力して署名アルゴリズムSigを実行し、その出力として署名文σを得る。
 共通鍵KをK=Aρにより計算する。
 暗号文CをC=(u,v,vk,σ)とし、暗号文Cと共通鍵Kを出力する。
 暗号文Cは、ユーザ装置300にブロードキャストされる。一方、共通鍵Kは、送信者装置200の共通鍵暗号化部202に引き渡される。上述のように、共通鍵Kは、共通鍵暗号化部202が平文Mを暗号化して暗号文Cipherを生成するために使用される。
 更に、ユーザ装置300の脱カプセル化部301は以下のように動作する:
 セキュリティ・パラメータλ、ユーザのID j、秘密鍵dk=(d,d,…,d),{1,…,n}の部分集合S、および暗号文C=(u,v,vk,σ)を入力として受けとる。
 セキュリティ・パラメータλ、uとvとSの連結u||v||S、検証鍵vk、及び署名文σを入力として検証アルゴリズムVerを実行し、署名文σの正当性を検証鍵vkを用いて検証する。
 検証アルゴリズムVerが「拒否」を意味する文字列を出力したら、暗号文が不正であることを意味する文字列を出力して終了する。
 e(u,Π∈S∪T[vk]h)≠e(v,g)なら暗号文が不正であることを意味する文字列を出力して終了する。
 そうでなければ公開鍵KをK=e(d・Π∈S∪T[vk]\{j}d,u)・e(d,v)によって計算する。 公開鍵Kを出力する。
 ユーザ装置300-jの共通鍵復号化部302は、得られた共通鍵Kを用いてユーザ装置300から送られてきた暗号文Cipherを復号化し、平文Mを得ることができる。
 以上の説明では、集合S∪T[vk]をカプセル化アルゴリズムEncap’及び脱カプセル化アルゴリズムDecap’の入力としているが、集合S∪T[vk]を含む集合Wをカプセル化アルゴリズムEncap’や脱カプセル化アルゴリズムDecap’の入力としてもよい。
[第3の実施形態]
 第3の実施形態でも、第1の実施形態と同様に、放送型暗号方式BE’=(Setup’,Extract’,Encap’,Decap’)に署名方式を併用し、暗号文全体に署名が行われる。これにより、暗号文の改竄を防ぎ、暗号文の一部を別のデータに取り替えるCCA2攻撃を有効に防止する。加えて、ユーザの部分集合Sのみならず、検証鍵vkに依存して暗号文が作成される。これにより、暗号文を変えずに検証鍵vkと署名文のみ別のものに取り替えるという攻撃も防ぐことができる。
 ただし、第3の実施形態では、権限者装置100のセットアップ部101及び抽出部102、送信者装置200のカプセル化部201、並びにユーザ装置300の脱カプセル化部301が第1の実施形態とは異なる方法で動作する。以下、第2の実施形態における各部の動作を詳細に説明する。
 以下の説明でも、第1の実施形態と同様に、下記のような表記法を使用する:SGNを署名方式とし、SGNの鍵生成部、署名部、および検証部を、それぞれ、Kg、Sig、Verと書く。SGNは、one-time強偽造不能性を満たすものでありさえすれば、どのようなものを用いてもよく、たとえばSchnorr署名を用いることができる。Hをハッシュ関数とする。また、PriChi=(Enc,Dec)は、共通鍵暗号化部202、共通化復号部203で使用される共通鍵暗号方式であり、Enc、Decはそれぞれ共通鍵暗号方式PriChiにおける暗号化、復号化のアルゴリズムである。
 また、各検証鍵vk∈{0,1}μに対し、集合T[vk]を対応させる。どのようにT[vk]を選んでもよいが、安全性上の観点から言えば、T[vk]は次の性質を満たすことが望ましい。
 相異なる2つの検証鍵vk1、vk2に対し、T[vk1]\T[vk2]は少なくとも1つの元を含む。
例えば、集合T[vk]を集合T[vk]をT[vk]={2n+2i|H(vk)の第iビットは1}∪{2n+2i+1|H(vk)の第iビットは0}により定義すると上述の性質が満たされる。
 第3の実施形態では、セットアップ部101は以下のように動作する:
 セキュリティ・パラメータλと人数nを入力として受けとる。
 セキュリティ・パラメータλと2n+2μとを入力としてセットアップアルゴリズムSetup’を実行し、その出力として公開パラメータparamとマスター鍵mk’を得る。
 ビットs,…,sをランダムに選び、マスター鍵mkをmk=(mk’,s,…,s)とする。 公開パラメータparamとマスター鍵mkを出力する。
 出力された公開パラメータparamとマスター鍵mkは、抽出部102に供給される。
公開パラメータparamは、更に、送信者装置200のカプセル化部201と、ユーザ装置300の脱カプセル化部301に供給される。
 抽出部102は、以下のように動作する:
 セキュリティ・パラメータλ、公開パラメータparam、ユーザのID j∈{1,…,n}、およびマスター鍵mk=(mk’,s,…,s)を入力として受けとる。
 セキュリティ・パラメータλ、公開パラメータparam、j-s、およびマスター鍵mk’を入力として抽出アルゴリズムExtract’を実行し、その出力として秘密鍵dk を得る。
 秘密鍵dkをdk=(dk ,s)とし、秘密鍵dkを出力する。
 出力された秘密鍵dkは、ユーザ装置300-jに供給される。
 図7に示されているように、カプセル化部201は、下記のように動作する:
 セキュリティ・パラメータλ、公開パラメータparam、および{1,…,n}の部分集合Sを入力として受けとる(ステップS701)。
 セキュリティ・パラメータλを入力として鍵生成アルゴリズムKgを実行し、その出力として検証鍵vkと署名鍵skを得る(ステップS702)。
 部分集合Sに属する各iに対しビットtiをランダムに選ぶ(ステップS703)。{t∈Sをtと書く。
 集合S[0]をS[0]={2i-t:i∈S}により定義し、集合S[1]をS[1]={2i-(1-t):i∈S}により定義する(ステップS704)。
 共通鍵暗号方式PhiChiの鍵空間から共通鍵Kをランダムに選ぶ(ステップS705)。
 セキュリティ・パラメータλ、公開パラメータparam、および集合S[0]∪T[vk]を入力としてカプセル化アルゴリズムEncap’を実行し、出力として暗号文C[0]と共有鍵κ[0]を得る(ステップS706)。
 κ[0]を共有鍵としてKを暗号化の対象の平文として、任意の共通鍵暗号方式Sym=(SymEnc,SymDec)の暗号化アルゴリズムSymEncを実行することで、暗号文L[0]を得る(ステップS706)。
共通鍵暗号方式Sym=(SymEnc,SymDec)としては、上述の共通鍵暗号方式PhiChiを使用することも可能である。
 セキュリティ・パラメータλ、公開パラメータparam、および集合S[1]∪T[vk]を入力してカプセル化アルゴリズムEncap’を実行し、出力として暗号文C[1]と共有鍵κ[1]を得る(ステップS707)。
 κ[1]を共有鍵としてKを平文として暗号化アルゴリズムSymEncに入力することで、暗号文L[1]を得る(ステップS707)。
 C[0]、L[0]、C[1]、L[1]、t、およびSを連結したものC[0]||L[0]||C[1]||L[1]||t||Sと署名鍵skを入力して署名アルゴリズムSigを実行し、出力として署名文σを得る(ステップS708)。
 C=(C[0],L[0],C[1],L[1],t,vk,σ)とし、暗号文Cと共通鍵Kを出力する(ステップS709)。
暗号文Cは、ユーザ装置300にブロードキャストされる。一方、共通鍵Kは、送信者装置200の共通鍵暗号化部202に引き渡される。上述のように、共通鍵Kは、共通鍵暗号化部202が平文Mを暗号化して暗号文Cipherを生成するために使用される。
 また、図8に示されているように、脱カプセル化部301は、下記のように動作する:
 セキュリティ・パラメータλ、ユーザのID j、秘密鍵dk=(dk ,s)、{1,…,n}の部分集合S、および暗号文C=(C[0],L[0],C[1],L[1],t,vk,σ)を入力として受けとる(ステップS801)。
 セキュリティ・パラメータλ、C[0]、L[0]、C[1]、L[1]、t、及び集合Sの連結C[0]||L[0]||C[1]||L[1]||t||S、検証鍵vk及び署名文σを入力として検証アルゴリズムVerを実行し、署名文σの正当性を検証鍵vkを用いて検証する(ステップS802)。
 検証アルゴリズムVerが「拒否」を意味する文字列を出力したら、受け取った暗号文Cが不正であることを意味する文字列を出力して終了する(ステップS803)。
 そうでなければ、sとtの排他的論理和ηを算出する(ステップ804)。
 集合S[0]をS[0]={2i-t:i∈S}により定義し、集合S[1]をS[1]={2i-(1-t):i∈S}により定義する(ステップS805)。
 セキュリティ・パラメータλ、秘密鍵dk 、集合S[η]∪T[vk]、暗号文C[η]を入力として脱カプセル化アルゴリズムDecap’を実行し、出力として共通鍵κ[η]を得る(ステップS806)。
 共通鍵κ[η]と共通鍵暗号文L[η]とを入力として共通鍵暗号方式Sym=(SymEnc,SymDec)の復号化アルゴリズムSymDecを実行し、その出力を共通鍵Kとして得る(ステップS807)。
 共通鍵Kを出力する(ステップS808)。
ユーザ装置300-jの共通鍵復号化部302は、得られた共通鍵Kを用いてユーザ装置300から送られてきた暗号文Cipherを復号化し、平文Mを得ることができる。
[第4の実施形態]
 更に、非特許文献1に開示されている第1の放送型暗号方式に対して第3の実施形態の手法を適用することも可能である。以下では、この場合の実施形態について説明する。以下の説明において、SGNを署名方式とし、SGNの鍵生成アルゴリズム、署名アルゴリズム、および検証アルゴリズムをそれぞれKg、Sig、Verと書く。署名方式SGNは、one-time強偽造不能性を満たすものでありさえすれば、どのようなものを用いてもよく、たとえばSchnorr署名を用いることができる。また、Hをハッシュ関数とする。
 第4の実施形態でも、検証鍵vk∈{0,1}μに対し、集合T[vk]をT[vk]={n+2i|H(vk)の第iビットは1}∪{n+2i+1|H(vk)の第iビットは0}により定義する。
 権限者装置100のセットアップ部101は以下のように動作する:
 人数nを入力として受けとる。
 αをZ/qZからランダムに選ぶ。
 g,h,…,h2n+2μをGからランダムに選ぶ。
 A=e(g,g)αを計算する。
 ビットs,…,sn+2μをランダムに選び、マスター鍵mkをmk=(α,s,…,sn+2μ)とする。
 更に、公開パラメータparamを、param=(g,h,…,h2n+2μ,A)とする。
 公開パラメータparamとマスター鍵mkを出力する。
 出力された公開パラメータparamとマスター鍵mkは、抽出部102に供給される。公開パラメータparamは、更に、送信者装置200のカプセル化部201と、ユーザ装置300の脱カプセル化部301に供給される。
 また、抽出部102は以下のように動作する:
 ユーザのID j∈{1,…,n}と公開パラメータparam=(g,h,…,h2n+2μ,A)とマスター鍵mk=(α,s,…,sn+2μ)を入力として受けとる。
 rをZ/qZからランダムに選ぶ。
 d=g-rを計算する。
 d=gα を計算する。
 j以外のi∈{1,…,n+2μ}に対し、d=h を計算する。
 秘密鍵dkをdk=(d,d,…,dn+2μ,s)とし、秘密鍵dkを出力する。
 出力された秘密鍵dkは、ユーザ装置300-jに供給される。
 送信者装置200のカプセル化部201は、以下のように動作する:
 セキュリティ・パラメータλ、公開パラメータparam、および{1,…,n}の部分集合Sを入力として受けとる。
 セキュリティ・パラメータλを入力して鍵生成アルゴリズムKgを実行し、その出力として検証鍵vkと署名鍵skを得る。
 Sに属する各iに対しビットtをランダムに選ぶ。{t∈Sをtと書く。
 共通鍵暗号方式PhiChiの鍵空間から共通鍵Kをランダムに選ぶ。
 集合S[0]をS[0]={2i-t:i∈S}により定義する。
 ρをZ/qZからランダムに選ぶ。
 u[0]=gρを計算する。
 v[0]=Π∈S[0]∪T[vk]h ρを計算する。
 κ[0]=Aρを計算する。
 κ[0]を共有鍵とし、Kを暗号化の対象の平文として、任意の共通鍵暗号方式Sym=(SymEnc,SymDec)の暗号化アルゴリズムSymEncを実行することで、暗号文L[0]を得る。共通鍵暗号方式Symとしては、上述の共通鍵暗号方式PhiChiを使用することができる。
 集合S[1]をS[1]={2i-(1-t):i∈S}により定義する。
 τをZ/qZからランダムに選ぶ。
 u[1]=gτを計算する。
 v[1]=Π∈S[1]∪T[vk]h τを計算する。
 κ[1]=Aτを計算する。
 κ[1]を共有鍵とし、Kを暗号化の対象の平文として暗号化アルゴリズムSymEncを実行することで、暗号文L[1]を得る。
 u[0]、v[0]、L[0]、u[1]、v[1]、L[1]、t、及びSを連結したものu[0]||v[0]||L[0]||u[1]||v[1]||L[1]||t||Sと署名鍵skを入力して署名アルゴリズムSigを実行し、出力として署名文σを得る。
 暗号文CをC=(u[0],v[0],L[0],u[1],v[1],L[1],t,vk,σ)とし、暗号文Cと共通鍵Kを出力する。
ここで、u[0]とv[0]とを連結したものをC[0]、u[1]とv[1]とを連結したものをC[1]と考えれば、上記の演算が、第3の実施形態におけるカプセル化部201の演算に対応していることが理解されよう。
暗号文Cは、ユーザ装置300にブロードキャストされる。一方、共通鍵Kは、送信者装置200の共通鍵暗号化部202に引き渡される。上述のように、共通鍵Kは、共通鍵暗号化部202が平文Mを暗号化して暗号文Cipherを生成するために使用される。
 ユーザ装置300の脱カプセル化部301は、以下のように動作する:
 セキュリティ・パラメータλ、ユーザのID j、秘密鍵dk=(d,d,…,d,s)、{1,…,n}の部分集合S、および暗号文C=(u[0],v[0],L[0],u[1],v[1],L[1],t,vk,σ)を入力として受けとる。
 セキュリティ・パラメータλと、u[0]、v[0]、L[0]、u[1]、v[1]、L[1]、t、及びSの連結u[0]||v[0]||L[0]||u[1]||v[1]||L[1]||t||Sと、検証鍵vkと、署名文σとを入力として検証アルゴリズムVerを実行し、署名文σの正当性を検証鍵vkを用いて検証する。
 検証アルゴリズムVerが「拒否」を意味する文字列を出力したら、暗号文が不正であることを意味する文字列を出力して終了する。
 そうでなければ,sとtの排他的論理和ηを計算する。
 e(u[η],Π∈S[η]∪T[vk]h)≠e(v,g)なら暗号文が不正であることを意味する文字列を出力して終了する。
 そうでなければκ[η]=e(d・Π∈S[η]∪T[vk]\{j}d,u[η])・e(d,v[η])を計算する。
 共通鍵κ[η]と共通鍵暗号文L[η]とを入力として共通鍵暗号方式Sym=(SymEnc,SymDec)の復号化アルゴリズムSymEncを実行し,その出力を共通鍵Kとして得る。
 共通鍵Kを出力する。
ユーザ装置300-jの共通鍵復号化部302は、得られた共通鍵Kを用いてユーザ装置300から送られてきた暗号文Cipherを復号化し、平文Mを得ることができる。
 以上の説明では、集合S[0]∪T[vk]と集合S[1]∪T[vk]をカプセル化アルゴリズムEncap’及び脱カプセル化アルゴリズムDecap’の入力としているが、集合S[0]∪T[vk]を含む集合W[0]と、集合S[1]∪T[vk]を含む集合W[1]をカプセル化アルゴリズムEncap’や脱カプセル化アルゴリズムDecap’の入力としてもよい。
 以上に説明されているように、本実施形態の放送型暗号方式では、放送型暗号方式に署名方式を併用し、暗号文全体に署名を行うことにより暗号文の改竄を防ぎ、暗号文の一部を別のデータに取り替えるCCA2攻撃を有効に防止する。加えて、本実施形態では、ユーザの部分集合Sのみならず、検証鍵vkに依存して暗号文が作成される。これにより、暗号文を変えずに検証鍵vkと署名文のみ別のものに取り替えるという攻撃も防ぐことができる。
 本出願は、日本特許出願番号2009-000461に基づいて条約上の優先権を主張する。その開示内容は、引用により個々に組み込まれる。

Claims (24)

  1.  カプセル化手段と、
     複数の脱カプセル化手段とを備え、
     前記カプセル化手段は、署名鍵skと検証鍵vkとを生成し、共通鍵Kを決定し、所定のカプセル化アルゴリズムを実行することによって復号可能と指定されたユーザのIDの集合Sと検証鍵vkに依存して共通鍵Kに対応する暗号文C’を生成し、所定の署名アルゴリズムを実行することにより暗号文C’に対応する署名文σを前記署名鍵skを使って生成し、前記暗号文C’と前記検証鍵vkと前記署名文σとを含むデータを暗号文Cとして出力するように構成され、
     前記脱カプセル化手段は、自己に割り当てられたIDが前記集合Sに含まれている場合、前記暗号文Cから前記暗号文C’と前記検証鍵vkと前記署名文σとを復元し、復元された前記署名文σの正当性を前記検証鍵vkを使って検証し、前記暗号文C’を脱カプセル化して共通鍵Kを得るように構成された
     放送型暗号システム。
  2.  請求項1に記載の放送型暗号システムであって、
     前記カプセル化手段は、前記集合Sと前記検証鍵vkに依存して決定されたユーザのIDの集合T[vk]の両方を含む集合Wを入力として前記カプセル化アルゴリズムを実行することにより前記共通鍵Kに対応する暗号文C’を生成し、
     IDがjであるユーザに対応する前記脱カプセル化手段は、前記集合Sと前記集合T[Tk]の両方を含む集合Wに基づいて、前記暗号文C’を前記IDがjである前記ユーザの秘密鍵dkを用いて脱カプセル化して共通鍵Kを得るように構成された
     放送型暗号システム。
  3.  請求項1に記載の放送型暗号システムであって、
     前記集合T[vk]は、相異なる2つの検証鍵vk1、vk2に対し、T[vk1]\T[vk2]が少なくとも1つの元を含むように決定された
     放送型暗号システム。
  4.  請求項1乃至3のいずれか1項に記載の放送型暗号システムであって、
     前記検証鍵vk又はそのハッシュ値の第i番目のビットが1であるか0であるかに応じて前記集合T[vk]が決定される
     放送型暗号システム。
  5.  請求項1乃至4のいずれか1項に記載の放送型暗号システムであって、
     前記検証鍵vkは、vk∈{0,1}μを成立させるように決定され、
     当該放送型暗号システムが、更に、
     セキュリティ・パラメータλとn+2μ(nは、前記ユーザの人数)とから所定のセットアップアルゴリズムによって公開パラメータparamとマスター鍵mkを生成するセットアップ手段と、
     前記セキュリティ・パラメータλと前記公開パラメータparamと前記マスター鍵mkとから所定の抽出アルゴリズムによって前記ユーザjの秘密鍵dkを出力する抽出手段とを具備し、
     前記カプセル化手段は、前記セキュリティ・パラメータλから所定の鍵生成アルゴリズムによって前記署名鍵skと前記検証鍵vkを生成し、前記セキュリティ・パラメータλと前記公開パラメータparamと集合S∪T[vk]とから前記カプセル化アルゴリズムを実行することによって前記共通鍵Kと前記暗号文C’とを生成し、前記暗号文C’と前記集合Sの連結C’||Sと前記署名鍵skを使って所定の署名アルゴリズムにより前記署名文σを作成し、
     IDがjであるユーザに対応する前記脱カプセル化手段は、前記セキュリティ・パラメータλと、前記連結C’||Sと、復元された前記検証鍵vk及び前記署名文σとを用いて復元された前記署名文σの正当性を検証し、前記セキュリティ・パラメータと前記集合S∪T[vk]と前記暗号文C’と前記秘密鍵dkとから、所定の脱カプセル化アルゴリズムにより、前記共通鍵Kを得る
     放送型暗号システム。
  6.  請求項1乃至4のいずれか1項に記載の放送型暗号システムであって、
     前記検証鍵vkは、vk∈{0,1}μを成立させるように決定され、
     qを素数とし、GとGTを、いずれも、位数がqである有限群とし、さらに、eをG×GからGTへの双線形写像としたとき、前記カプセル化手段は、セキュリティ・パラメータλと、有限群Gからランダムに選ばれたg、h、…、hn+2μと、Z/qZからランダムに選ばれたαを用いてA=e(g,g)μとして算出されたAを含む公開パラメータparamと、前記集合Sとを入力として受けとり、
     前記カプセル化手段は、ρをZ/qZからランダムに選び、u=gρを計算し、v=Π∈S∪T[vk]h ρを計算し、前記uと前記vと前記集合Sの連結u||v||Sと前記署名鍵skとを入力として所定の署名アルゴリズムにより前記署名文σを作成し、前記共通鍵KをK=Aρにより計算し、前記暗号文CをC=(u,v,vk,σ)と決定する
     放送型暗号システム。
  7.  請求項6に記載の放送型暗号システムであって、
     前記IDがjである前記ユーザに対応する前記脱カプセル化手段は、前記セキュリティ・パラメータλと、秘密鍵dk=(d,d,…,d)と、前記集合Sと、前記暗号文Cを入力として受けとり、前記暗号文Cから前記uと前記vと前記検証鍵vkと前記署名文σを復元し、前記署名文σの正当性を前記検証鍵vkを使って検証し、前記公開鍵KをK=e(d・Π∈W\{j}d,u)・e(d,v)によって計算する
     放送型暗号システム。
  8.  請求項1に記載の放送型暗号システムであって、
     前記カプセル化手段は、ユーザのIDの集合T[vk]を前記検証鍵vkに依存して作り、前記集合Sに属する要素iのそれぞれについてビットtiをランダムに選ぶことによって集合t={t}i∈Sを決定し、前記集合Sに依存した集合S[0]とS[1]とを作り、前記共通鍵Kをランダムに選び、前記集合S[0]と前記集合T[vk]の両方を含む集合W[0]から所定のカプセル化アルゴリズムを用いて暗号文C[0]と共通鍵κ[0]を得、前記共通鍵Kを暗号化の対象の平文として前記共通鍵κ[0]を用いて暗号化して暗号文L[0]を計算し、前記S[1]と前記T[vk]の両方を含む集合W[1]から前記カプセル化アルゴリズムを用いて暗号文C[1]と共通鍵κ[1]を得、前記署名鍵skを使って前記C[0]と前記L[0]と前記C[1]と前記L[1]と前記tと前記集合Sとを含むデータの署名文σを作成し、前記C[0]と前記L[0]と前記C[1]と前記L[1]と前記tと前記検証鍵vkと前記署名文σを含むデータを前記暗号文Cとするように構成され、
     前記IDがjである前記ユーザに対応する前記脱カプセル化手段は、前記IDがjである前記ユーザの秘密鍵dkと前記集合Sと前記暗号文Cを入力として受けとり、前記秘密鍵dkから別の秘密鍵dk とビットsを復元し、前記暗号文Cから前記C[0]と前記C[1]とtと前記検証鍵vkと前記署名文σを復元し、前記検証鍵vkで前記署名文σの正当性を検証し、前記sと前記tの論理的排他和ηを計算し、前記秘密鍵dk 、前記集合W[η]及び前記C[η]に所定の脱カプセル化アルゴリズムを適用することで共通鍵κ[η]を得、得られた前記共通鍵κ[η]を用いて前記L[η]を復号化して共通鍵Kを得るように構成された
     放送型暗号システム。
  9.  請求項8に記載の放送型暗号システムであって、
     前記集合Sに属する前記要素iのそれぞれに対し、前記要素iと前記tに依存して前記S[0]の要素が選ばれ、前記集合Sに属する前記要素iに対し、前記要素iと前記tに依存して前記S[1]の要素が選ばれる
     放送型暗号システム。
  10.  請求項8又は9に記載の放送型暗号システムであって、
     前記集合T[vk]は、相異なる2つの検証鍵vk1、vk2に対し、T[vk1]\T[vk2]が少なくとも1つの元を含むように決定された
     放送型暗号システム。
  11.  請求項8乃至10のいずれか1項に記載の放送型暗号システムであって、
     前記検証鍵vk又はそのハッシュ値の第i番目のビットが1であるか0であるかに応じて集合T[vk]が決定される
     放送型暗号システム。
  12.  請求項8乃至11のいずれか1項に記載の放送型暗号システムであって、
     前記検証鍵vkは、vk∈{0,1}μを成立させるように決定され、
     セキュリティ・パラメータλとn+2μ(nは、前記ユーザの人数)とから所定のセットアップアルゴリズムによって公開パラメータparamとマスター鍵mk’を生成し、ビットs、...、sをランダムに選び、マスター鍵mkをmk=(mk’,s,...,s)により決定するセットアップ手段と、
     前記セキュリティ・パラメータλと前記公開パラメータparamと前記マスター鍵mkとから所定の抽出アルゴリズムによって前記IDがjである前記ユーザの前記秘密鍵dk を生成し、前記IDがjである前記ユーザの前記秘密鍵dkをdk=(dk ,s)により決定する抽出手段とを具備し、
     前記カプセル化手段は、前記セキュリティ・パラメータλから所定の鍵生成アルゴリズムによって前記署名鍵skと前記検証鍵vkを生成し、前記集合S[0]をS[0]={2i-t:i∈S}により定義し、前記集合S[1]をS[1]={2i-(1-t):i∈S}により定義し、前記セキュリティ・パラメータλ、前記公開パラメータparam、および集合S[0]∪T[vk]を入力として前記カプセル化アルゴリズムを実行して前記暗号文C[0]と前記共有鍵κ[0]を得、前記セキュリティ・パラメータλ、前記公開パラメータparam、および集合S[1]∪T[vk]を入力として前記カプセル化アルゴリズムを実行して前記暗号文C[1]と前記共有鍵κ[1]を得るように構成された
     放送型暗号システム。
  13.  請求項8乃至11のいずれか1項に記載の放送型暗号システムであって、
     前記検証鍵vkは、vk∈{0,1}μを成立させるように決定され、
     qを素数とし、GとGTを、いずれも、位数がqである有限群とし、さらに、eをG×GからGTへの双線形写像としたとき、前記カプセル化手段は、セキュリティ・パラメータλと、有限群Gからランダムに選ばれたg、h、…、h2n+2μと、Z/qZからランダムに選ばれたαを用いてA=e(g,g)μとして算出されたAとを含む公開パラメータparamと、前記集合Sとを入力として受けとり、
     前記カプセル化手段は、ρをZ/qZからランダムに選び、前記集合S[0]をS[0]={2i-t:i∈S}により定義し、u[0]=gρを計算し、v[0]=Π∈S[0]∪T[vk]h ρを計算し、前記共有鍵κ[0]をκ[0]=Aρとして計算し、前記集合S[1]をS[1]={2i-(1-t):i∈S}により定義し、τをZ/qZからランダムに選び、u[1]=gτを計算し、v[1]=Π∈S[1]∪T[vk]h τを計算し、前記共通鍵κ[1]をκ[1]=Aτにより計算し、前記u[0]、前記v[0]、前記暗号文L[0]、前記u[1]、前記v[1]、前記暗号文L[1]、前記t、及び前記集合Sを連結したものu[0]||v[0]||L[0]||u[1]||v[1]||L[1]||t||Sと署名鍵skを入力して所定の署名アルゴリズムを実行し、前記署名文σを得、前記C[0]を前記u[0]と前記v[0]とを連結したものとして、前記C[1]をu[1]、v[1]とを連結したものとして、前記暗号文CをC=(u[0],v[0],L[0],u[1],v[1],L[1],t,vk,σ)として決定するように構成された
     放送型暗号システム。
  14.  請求項13に記載の放送型暗号システムであって、
     前記IDがjである前記ユーザの前記脱カプセル化手段は、セキュリティ・パラメータλ、秘密鍵dk、前記集合S、および前記暗号文を入力として受けとり、前記セキュリティ・パラメータλと、u[0]、v[0]、L[0]、u[1]、v[1]、L[1]、t、及びSの連結u[0]||v[0]||L[0]||u[1]||v[1]||L[1]||t||Sと、検証鍵vkと、署名文σとを入力として所定の検証アルゴリズムを実行して前記署名文σの正当性を前記検証鍵vkを用いて検証し、前記sと前記tの排他的論理和ηを計算し、κ[η]=e(d・Π∈S[η]∪T[vk]\{j}d,u[η])・e(d,v[η])を計算し、共通鍵κ[η]と共通鍵暗号文L[η]とを入力として所定の復号化アルゴリズムを実行し、その出力を共通鍵Kとして得るように構成された
     放送型暗号システム。
  15.  請求項1乃至14のいずれか1項に記載の放送型暗号システムであって、
     更に、
     前記カプセル化手段から前記共通鍵Kを受け取り、受け取った前記共通鍵Kを用いて平文Mを暗号化して暗号文Cipherを生成する共通鍵暗号化手段と、
     前記暗号文Cipherを入力として受けとり、前記脱カプセル化手段から前記共通鍵Kを受け取り、前記暗号文Cipherを前記共通鍵Kで復号化することにより平文Mを得る共通鍵復号化手段とを備える
     放送型暗号システム。
  16.  請求項15に記載の放送型暗号システムであって、
     前記カプセル化手段と前記共通鍵暗号化手段が、前記暗号文Cと前記暗号文Cipherとを送信する送信者装置に設けられ、
     前記脱カプセル化手段と前記共通鍵複合化手段が、前記暗号文Cと前記暗号文Cipherとを受信するユーザ装置に設けられる
     放送型暗号システム。
  17.  署名鍵skと検証鍵vkとを生成する手段と、
     共通鍵Kを決定する手段と、
     所定のカプセル化アルゴリズムを実行することによって復号可能と指定されたユーザのIDの集合Sと検証鍵vkに依存して共通鍵Kに対応する暗号文C’を生成する手段と、
     所定の署名アルゴリズムを実行することにより暗号文C’に対応する署名文σを前記署名鍵skを使って生成する手段と、
     前記暗号文C’と前記検証鍵vkと前記署名文σとを含むデータを暗号文Cとして出力する手段とを備える
     送信者装置。
  18.  請求項17に記載の送信者装置であって、
     更に、
     前記カプセル化手段から前記共通鍵Kを受け取り、受け取った前記共通鍵Kを用いて平文Mを暗号化して暗号文Cipherを生成する共通鍵暗号化手段と、
     前期暗号文Cと前記暗号文Cipherとを送信する送信手段とを備える
     送信者装置。
  19.  復号可能と指定されたユーザのIDの集合Sと暗号文Cとを受け取る手段と、
     自己に割り当てられたIDが前記集合Sに含まれている場合、前記暗号文Cから前記暗号文C’と前記検証鍵vkと前記署名文σとを復元する手段と、
     復元された前記署名文σの正当性を前記検証鍵vkを使って検証する手段と、
     前記暗号文C’を脱カプセル化して共通鍵Kを得る手段とを備える
     ユーザ装置。
  20.  請求項19に記載のユーザ装置であって、
     更に、
     前記暗号文Cipherを入力として受けとり、前記脱カプセル化手段から前記共通鍵Kを受け取り、前記暗号文Cipherを前記共通鍵Kで復号化することにより平文Mを得る共通鍵復号化手段を備える
     ユーザ装置。
  21.  カプセル化手段と脱カプセル化手段とを備える放送型暗号システムにおけるカプセル化/脱カプセル化方法であって、
     カプセル化手段が、署名鍵skと検証鍵vkとを生成するステップと、
     前記カプセル化手段が、共通鍵Kを決定するステップと、
     前記カプセル化手段が、所定のカプセル化アルゴリズムを実行することによって復号可能と指定されたユーザのIDの集合Sと検証鍵vkに依存して共通鍵Kに対応する暗号文C’を生成するステップと、
     前記カプセル化手段が、所定の署名アルゴリズムを実行することにより暗号文C’に対応する署名文σを前記署名鍵skを使って生成するステップと、
     前記カプセル化手段が、前記暗号文C’と前記検証鍵vkと前記署名文σとを含むデータを暗号文Cとして出力するステップと、
     前記脱カプセル化手段が、自己に割り当てられたIDが前記集合Sに含まれている場合に前記暗号文Cから前記暗号文C’と前記検証鍵vkと前記署名文σとを復元するステップと、
     前記脱カプセル化手段が、復元された前記署名文σの正当性を前記検証鍵vkを使って検証するステップと、
     前記脱カプセル化手段が、前記暗号文C’を脱カプセル化して共通鍵Kを得るステップとを備える
     カプセル化/脱カプセル化方法。
  22.  署名鍵skと検証鍵vkとを生成するステップと、
     共通鍵Kを決定するステップと、
     所定のカプセル化アルゴリズムを実行することによって復号可能と指定されたユーザのIDの集合Sと検証鍵vkに依存して共通鍵Kに対応する暗号文C’を生成するステップと、
     所定の署名アルゴリズムを実行することにより暗号文C’に対応する署名文σを前記署名鍵skを使って生成するステップと、
     前記暗号文C’と前記検証鍵vkと前記署名文σとを含むデータを暗号文Cとして出力するステップとを備える
     送信者装置の動作方法。
  23.  復号可能と指定されたユーザのIDの集合Sと暗号文Cとを受け取るステップと、
     自己に割り当てられたIDが前記集合Sに含まれている場合、前記暗号文Cから前記暗号文C’と前記検証鍵vkと前記署名文σとを復元するステップと、
     復元された前記署名文σの正当性を前記検証鍵vkを使って検証するステップと、
     前記暗号文C’を脱カプセル化して共通鍵Kを得るステップとを備える
     ユーザ装置の動作方法。
  24.  請求項21に記載のカプセル化/脱カプセル化方法を実現するための計算機実行可能なプログラムコードが記録された計算機読み取り可能な記録媒体。
PCT/JP2010/050001 2009-01-05 2010-01-04 放送型暗号システム、送信者装置、ユーザ装置、カプセル化/脱カプセル化方法 WO2010076899A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009-000461 2009-01-05
JP2009000461 2009-01-05

Publications (1)

Publication Number Publication Date
WO2010076899A1 true WO2010076899A1 (ja) 2010-07-08

Family

ID=42309939

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/050001 WO2010076899A1 (ja) 2009-01-05 2010-01-04 放送型暗号システム、送信者装置、ユーザ装置、カプセル化/脱カプセル化方法

Country Status (1)

Country Link
WO (1) WO2010076899A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110677238A (zh) * 2019-03-11 2020-01-10 深圳奥联信息安全技术有限公司 广播加密方法和装置
CN115297118A (zh) * 2022-10-09 2022-11-04 北京航空航天大学杭州创新研究院 一种基于区块链的数据共享方法及数据共享系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ADAM BARTH ET AL.: "Privacy in Encrypted Content Distribution Using Private Broadcast Encryption", FINANCIAL CRYPTOGRAPHY, vol. 2006, 2006, pages 1 - 13, Retrieved from the Internet <URL:http://www.adambarth.com/papers/2006/barth-boneh-waters.pdf> [retrieved on 20100126] *
DAN BONEH ET AL.: "Collusion Resistant Broadcast Encryption With Short Ciphertexts and Private Keys", CRYPTO2005, 2005, pages 1 - 19, Retrieved from the Internet <URL:http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.59.4964> [retrieved on 20100126] *
S.SHARMILA DEVA SELVI ET AL.: "On the Provable Security of Multi-Receiver Signcryption Schemes", EPRINT, 2008, pages 1 - 19, Retrieved from the Internet <URL:http://eprint.iacr.org/2008/238.pdf> [retrieved on 20100126] *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110677238A (zh) * 2019-03-11 2020-01-10 深圳奥联信息安全技术有限公司 广播加密方法和装置
CN110677238B (zh) * 2019-03-11 2022-08-05 深圳奥联信息安全技术有限公司 广播加密方法和装置
CN115297118A (zh) * 2022-10-09 2022-11-04 北京航空航天大学杭州创新研究院 一种基于区块链的数据共享方法及数据共享系统

Similar Documents

Publication Publication Date Title
EP2461564A1 (en) Key transport protocol
JP7008725B2 (ja) カウンタベースの暗号システムにおける改良型認証付き暗号化のための方法及びシステム
US9698984B2 (en) Re-encrypted data verification program, re-encryption apparatus and re-encryption system
CN109274502B (zh) 公钥加密及密钥签名的创建方法、设备及可读存储介质
US20090100264A1 (en) Communication device and communication system
KR20170035665A (ko) 키 교환 장치 및 방법
JP6167990B2 (ja) 署名検証システム、検証装置、及び署名検証方法
CN107534558B (zh) 用于保护经由数据总线传输的数据的信息安全的方法以及数据总线系统
KR101516114B1 (ko) 인증서 기반 프록시 재암호화 방법 및 이를 위한 시스템
CN106713349B (zh) 一种能抵抗选择密文攻击的群组间代理重加密方法
CA2819211C (en) Data encryption
CN112073115A (zh) 基于Lora的低轨卫星物联网注册安全验证方法、物联网终端、网络服务器和用户服务器
US20220171832A1 (en) Scalable key management for encrypting digital rights management authorization tokens
CN101296077A (zh) 一种基于总线型拓扑结构的身份认证系统
WO2010076899A1 (ja) 放送型暗号システム、送信者装置、ユーザ装置、カプセル化/脱カプセル化方法
CN108494554B (zh) 一种基于双明文的数据对称加密方法
Gobi et al. A comparative study on the performance and the security of RSA and ECC algorithm
CN115499229A (zh) 基于身份的云存储加密数据转换方法和系统
JP4664692B2 (ja) 暗号化方法、復号方法、暗号化装置、復号装置、暗号装置、およびプログラム
JP2005176144A (ja) 端末装置、通信システム及び通信方法
JP2005114870A (ja) 暗号通信システム
KR100388059B1 (ko) 비대칭키 암호 알고리즘을 이용한 데이터 암호화 시스템및 그 방법
Hartl et al. Subverting Counter Mode Encryption for Hidden Communication in High-Security Infrastructures
Chetan et al. Security framework for VANET for privacy preservation
JP7466791B2 (ja) 暗号化装置、復号装置、復号可能検証装置、暗号システム、暗号化方法、及び暗号化プログラム

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10726799

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP