[go: up one dir, main page]

KR101967521B1 - Broadcast encryption and decryption method based on subset difference - Google Patents

Broadcast encryption and decryption method based on subset difference Download PDF

Info

Publication number
KR101967521B1
KR101967521B1 KR1020170039279A KR20170039279A KR101967521B1 KR 101967521 B1 KR101967521 B1 KR 101967521B1 KR 1020170039279 A KR1020170039279 A KR 1020170039279A KR 20170039279 A KR20170039279 A KR 20170039279A KR 101967521 B1 KR101967521 B1 KR 101967521B1
Authority
KR
South Korea
Prior art keywords
public key
key
identifier
subset difference
specific
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020170039279A
Other languages
Korean (ko)
Other versions
KR20180109487A (en
Inventor
오현옥
김지혜
Original Assignee
한양대학교 산학협력단
국민대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한양대학교 산학협력단, 국민대학교산학협력단 filed Critical 한양대학교 산학협력단
Priority to KR1020170039279A priority Critical patent/KR101967521B1/en
Publication of KR20180109487A publication Critical patent/KR20180109487A/en
Application granted granted Critical
Publication of KR101967521B1 publication Critical patent/KR101967521B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/122Hardware reduction or efficient architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

부분집합 차 기반 브로드캐스트 암호화 및 복호화 방법이 개시된다. 브로드캐스트 암호화 방법은, 공개키 및 다수의 제2 디바이스 각각에 대한 비밀키를 생성하는 단계, 공개키를 이용하여 부분집합 차(subset difference) 기반 암호화키를 생성하는 단계 및 생성된 부분집합 차 기반 암호화키를 이용하여 메시지를 암호화하여 브로드캐스팅하는 단계를 포함하되, 부분집합 차 기반 암호화키는, 다수의 제2 디바이스 중 메시지 송신 대상에 포함되는 디바이스 그룹의 식별자에 대응하는 공개키와 포함되는 디바이스 그룹에서 제외되는 디바이스 그룹의 식별자에 대응하는 공개키로 생성된다.A subset difference based broadcast encryption and decryption method is disclosed. The broadcast encryption method includes generating a public key and a secret key for each of a plurality of second devices, generating a subset difference based encryption key using the public key, and generating the subset difference based. And encrypting and broadcasting a message using an encryption key, wherein the subset difference-based encryption key includes a public key corresponding to an identifier of a device group included in a message transmission target among a plurality of second devices, and a device included in the message. A public key corresponding to an identifier of a device group to be excluded from the group is generated.

Description

부분집합 차 기반 브로드캐스트 암호화 및 복호화 방법{Broadcast encryption and decryption method based on subset difference}Broadcast encryption and decryption method based on subset difference}

본 발명은 부분집합 차 기반 브로드캐스트 암호화 및 복호화 방법에 관한 것이다.The present invention relates to a subset difference based broadcast encryption and decryption method.

브로드캐스트 암호화는 수신자 그룹으로 메시지를 보안 전송하기 위한 암호화 방법으로, 특정 사용자들만이 수신한 메시지를 복호화할 수 있다. 응용 사례에는 유료 TV, DRM(digital rights management)이 있다.Broadcast encryption is an encryption method for securely transmitting a message to a group of recipients, and only certain users can decrypt the received message. Application examples include pay TV and digital rights management (DRM).

다른 특징을 가진 수많은 브로드캐스트 암호화 방법들이 소개되어 왔다. 브로드캐스트 암호화 방법에는 대칭키 기반 방식(symmetric key setting) 및 공개키 기반 방식(public key setting)이 있다.Numerous broadcast encryption methods with different features have been introduced. Broadcast encryption methods include a symmetric key setting method and a public key setting method.

공개키 기반 브로드캐스트 암호화 방법은 누구나 공개키를 이용하여 허가된 사용자들의 변화하는 세트로 메시지를 브로드캐스트할 수 있다. 반면에, 비밀키 브로드캐스트 암호화 방법은 비밀키를 알고 있는 특정 센터만이 메시지를 브로드캐스트할 수 있다. 브로드캐스트 암호화 방법은 상태 기반(stateful) 또는 무상태(stateless) 기반일 수 있다. 상태 기반 브로드캐스트 암호화 방법은 사용자의 비밀키가 때때로 업데이트될 수 있는 반면, 무상태 기반 브로드캐스트 암호화 방법은 사용자의 비밀키가 시스템의 수명 동안 동일하다. 보안은 전체적으로 또는 부분적으로 공모하는 적들에 대항하여 정의될 수 있다. 브로드캐스트 암호화 방법은 제외 및 불법 복제 추적(revocation and traitor-tracing) 알고리즘으로 집약될 수 있다. 이 알고리즘은 아이디 기반 공개키 방식 및/또는 전방 보안성(forward security)을 지원할 수 있다. The public key based broadcast encryption method allows anyone to broadcast a message to a changing set of authorized users using the public key. On the other hand, in the secret key broadcast encryption method, only a specific center that knows the secret key can broadcast the message. The broadcast encryption method may be stateful or stateless based. Stateful broadcast encryption methods can sometimes update a user's private key, while stateless broadcast encryption methods allow a user's private key to remain the same for the life of the system. Security can be defined against enemies who conspire in whole or in part. Broadcast encryption methods can be aggregated into revocation and traitor-tracing algorithms. This algorithm may support an identity based public key scheme and / or forward security.

브로드캐스트 암호화 방법에서, 일반적으로 메시지 형식은 (S, Hdr, CM)으로 나타내어진다. 여기서, S는 사용자 그룹을 나타내고, Hdr은 헤더이고, CM 은 원본 메시지의 암호문(ciphertext)이다. 송신자는 세션키 Ks로 메시지 M의 암호문 CM을 생성하고, S와 Ks로 Hdr를 계산하여, (S, Hdr, CM)을 전송한다. 복호화를 위하여, 특정 사용자는 비밀키와 헤더로부터 Ks를 계산하여 암호문을 복호화한다. 그러나, 제외된 사용자는 자신의 개인 정보로 Ks를 추론할 수 없다. 더욱이, 제외된 모든 사용자들이 공모하더라도 Ks는 계산될 수 없다.In the broadcast encryption method, the message format is generally represented by (S, Hdr, C M ). Where S represents a group of users, Hdr is a header, and C M is the ciphertext of the original message. The sender generates the ciphertext C M of the message M with the session key K s , calculates Hdr with S and K s , and sends (S, Hdr, C M ). For decryption, a particular user decrypts the cipher text by calculating K s from the secret key and the header. However, excluded users cannot deduce K s from their personal information. Moreover, K s cannot be calculated even if all excluded users collude.

브로드캐스트 암호화 방법에서, 헤더의 길이, 비밀키/공개키의 크기 및 암호화/복호화 시간이 중요한 요소이다. 이 요소들은 가능한 작을수록 이상적이나, 대부분의 브로드캐스트 암호화 방법에서는 하나의 요소를 줄이면 다른 요소가 증가하는 것으로 나타났다. 메시지가 아주 많은 수신자에게 전송되는 브로드캐스트 암호화에서는, 실제 계산 비용 및 저장매체 사이즈와 함께 헤더 길이를 최소화하는 하는 것이 중요하다.In the broadcast encryption method, header length, secret key / public key size, and encryption / decryption time are important factors. These elements are ideal as small as possible, but in most broadcast encryption methods, reducing one element increases the other. In broadcast encryption, where a message is sent to a large number of recipients, it is important to minimize the header length along with the actual computation cost and storage medium size.

이와 관련하여 선행문헌으로서, "Revocation and tracing schemes for stateless receivers, Dalit Naor, Moni Naor, and Jeffery Lotspiech."(이하, 선행문헌1이라 함), "Public Key Broadcast Encryption for Stateless Receivers, Y. Dodis and N. Fazio." (이하, 선행문헌2라 함), "Hierarchical identity based encryption with constant size ciphertext, Dan Boneh, Xavier Boyen, and Eu-Jin Goh." (이하, 선행문헌3이라 함), "Collusion resistant broadcast encryption with short ciphertexts and private keys, Dan Boneh, Craig Gentry, and Brent Waters." (이하, 선행문헌4라 함) 및 "Public-Key Revocation and Tracing Schemes with Subset Difference Methods Revisited, Kwangsu Lee, Woo Kwon Koo, Dong Hoon Lee, Jong Hwan Park." (이하, 선행문헌5라 함)이 개시되어 있다.In this regard, as a prior document, "Revocation and tracing schemes for stateless receivers, Dalit Naor, Moni Naor, and Jeffery Lotspiech." (Hereinafter referred to as Document 1), "Public Key Broadcast Encryption for Stateless Receivers, Y. Dodis and N. Fazio. " (Hereinafter referred to as Prior Art 2), "Hierarchical identity based encryption with constant size ciphertext, Dan Boneh, Xavier Boyen, and Eu-Jin Goh." (Hereinafter referred to as Priority 3), "Collusion resistant broadcast encryption with short ciphertexts and private keys, Dan Boneh, Craig Gentry, and Brent Waters." (Hereinafter referred to as Document 4) and "Public-Key Revocation and Tracing Schemes with Subset Difference Methods Revisited, Kwangsu Lee, Woo Kwon Koo, Dong Hoon Lee, Jong Hwan Park." (Hereinafter referred to as Prior Document 5) is disclosed.

총 N개의 디바이스가 있고, r개의 디바이스가 브로드캐스트 복호화에서 제외된다고 가정하면, 선행문헌1은 대칭키 기반의 브로드캐스트 암호화 기법으로, 공유키는 O(1)개이고, 디바이스에 저장되는 비밀키는 O((log N)2)개이다. 그리고, 복호화 시간은 O(log N)이고, 암호문의 크기는 O(r)이다.Assuming that there are a total of N devices and r devices are excluded from broadcast decryption, Prior Art 1 is a symmetric key-based broadcast encryption scheme, where the shared keys are O (1), and the private keys stored in the devices O ((log N) 2 ). The decryption time is O (log N) and the ciphertext is O (r).

선행문헌2와 선행문헌3의 조합은 공개키 기반 브로드캐스트 암호화 기법이 된다. 이 기법은, 공개키의 크기가 O(log N)이고, 비밀키의 크기가 O((log N)3)이다. 그리고, 복호화 시간은 O(log N)이고, 암호문의 크기는 O(r)이다.The combination of Prior Art 2 and Prior Art 3 becomes a public key based broadcast encryption technique. In this technique, the size of the public key is O (log N) and the size of the secret key is O ((log N) 3 ). The decryption time is O (log N) and the ciphertext is O (r).

선행문헌4는 공개키 기반 브로드캐스트 암호화 기법으로, 공개키의 크기가 O(N)이고, 비밀키의 크기가 O((log N)2)이다. 그리고, 복호화 시간은 O(1)이고, 암호문의 크기는 O(r)이다.Prior Art 4 discloses a public key-based broadcast encryption scheme in which the size of the public key is O (N) and the size of the secret key is O ((log N) 2 ). The decryption time is O (1) and the ciphertext is O (r).

선행문헌5는, 공개키의 크기가 O(1)이고, 비밀키의 크기가 O((log N)2)이다. 그리고, 복호화 시간은 O(1)이고, 암호문의 크기는 O(r)이다.Prior art 5 has a public key size of O (1) and a private key size of O ((log N) 2 ). The decryption time is O (1) and the ciphertext is O (r).

이러한 종래의 브로드캐스트 암호화 방법보다, 암호문의 크기, 비밀키/공개키의 크기 또는 암호화/복호화 시간 중 한 요소를 줄이면서도 다른 요소의 증가가 없는 브로드캐스트 암호화 방법이 요구된다.Compared with the conventional broadcast encryption method, there is a need for a broadcast encryption method that reduces the size of a cipher text, the size of a secret key / public key, or an encryption / decryption time while increasing the other elements.

본 발명은 암호문의 크기를 종래와 같이 O(r)로 유지하면서, 비밀키의 크기를 종래보다 작은 O(log N)으로 줄일 수 있는 부분집합 차 기반 브로드캐스트 암호화 및 복호화 방법에 관한 것이다.The present invention relates to a subset difference-based broadcast encryption and decryption method that can reduce the size of a secret key to O (log N), while maintaining the size of the ciphertext as O (r) as before.

본 발명의 일 측면에 따르면, 제1 디바이스가 다수의 제2 디바이스 중 적어도 하나의 특정 디바이스로 메시지를 송신하기 위하여 수행하는 브로드캐스트 암호화 방법이 개시된다.According to an aspect of the present invention, a broadcast encryption method is disclosed in which a first device performs to transmit a message to at least one specific device of a plurality of second devices.

본 발명의 실시예에 따른 브로드캐스트 암호화 방법은, 공개키 및 상기 다수의 제2 디바이스 각각에 대한 비밀키를 생성하는 단계, 상기 공개키를 이용하여 부분집합 차(subset difference) 기반 암호화키를 생성하는 단계 및 상기 생성된 부분집합 차 기반 암호화키를 이용하여 메시지를 암호화하여 브로드캐스팅하는 단계를 포함하되, 상기 부분집합 차 기반 암호화키는, 상기 다수의 제2 디바이스 중 메시지 송신 대상에 포함되는 디바이스 그룹의 식별자에 대응하는 공개키와 상기 포함되는 디바이스 그룹에서 제외되는 디바이스 그룹의 식별자에 대응하는 공개키로 생성된다.In a broadcast encryption method according to an embodiment of the present invention, generating a public key and a secret key for each of the plurality of second devices, and generating a subset difference based encryption key using the public key. And encrypting and broadcasting a message using the generated subset difference-based encryption key, wherein the subset difference-based encryption key is a device included in a message transmission target among the plurality of second devices. A public key corresponding to an identifier of a group and a public key corresponding to an identifier of a device group excluded from the included device group are generated.

상기 식별자는 블린 표현(Boolean representation)을 이용하여 표현된다.The identifier is represented using a Boolean representation.

상기 비밀키는 상기 제2 디바이스의 식별자에 대응하는 포함되는 공개키와 제외되는 공개키로 구성되며, 해당 디바이스에 대하여 선택된 랜덤값(R)을 상기 포함되는 공개키에 곱하고, 상기 제외되는 공개키에 랜덤값의 역원(R-1)을 곱하여 생성된다.The private key includes an included public key corresponding to the identifier of the second device and a excluded public key, and multiplies the included public key by a random value R selected for the corresponding device, and the excluded public key. It is generated by multiplying the inverse of the random value (R -1 ).

상기 특정 디바이스로 구성되는 디바이스 그룹은 제1 비트값 및 제2 비트값을 포함하는 식별자 쌍으로 표현되고, 상기 제1 비트값은 상기 포함되는 디바이스 그룹의 식별자이고, 상기 제2 비트값은 상기 제외되는 디바이스 그룹의 식별자이다.The device group composed of the specific device is represented by an identifier pair including a first bit value and a second bit value, wherein the first bit value is an identifier of the included device group, and the second bit value is excluded. Identifier of the device group.

본 발명의 다른 측면에 따르면, 제1 디바이스가 다수의 제2 디바이스 중 적어도 하나의 특정 디바이스로 메시지를 송신하기 위하여 브로드캐스팅한 암호화 메시지를 수신한 상기 제2 디바이스가 수행하는 브로드캐스트 복호화 방법이 개시된다.According to another aspect of the present invention, there is disclosed a broadcast decryption method performed by a second device receiving an encrypted message broadcasted by a first device to transmit a message to at least one specific device of a plurality of second devices. do.

본 발명의 실시예에 따른 브로드캐스트 복호화 방법은, 상기 제1 디바이스가 생성한 비밀키 및 공개키를 저장하는 단계, 상기 수신된 암호화 메시지 및 상기 저장된 비밀키와 공개키를 이용하여 상기 제1 디바이스가 생성한 제1 부분집합 차 기반 암호화키와 동일한 제2 부분집합 차 기반 암호화키를 생성하는 단계 및 상기 생성된 제2 부분집합 차 기반 암호화키를 이용하여 상기 암호화 메시지를 복호화하는 단계를 포함하되, 상기 제2 부분집합 차 기반 암호화키는, 상기 제1 부분집합 차 기반 암호화키를 구성하는 공개키를 상기 저장된 비밀키와 공개키로부터 산출하여 생성된다.In the broadcast decryption method according to an embodiment of the present invention, storing the secret key and the public key generated by the first device, using the received encryption message and the stored secret and public key, the first device Generating a second subset difference based encryption key that is identical to the first subset difference based encryption key generated by the user; and decrypting the encrypted message using the generated second subset difference based encryption key; The second subset difference based encryption key is generated by calculating a public key constituting the first subset difference based encryption key from the stored secret key and the public key.

상기 제1 부분집합 차 기반 암호화키는, 상기 다수의 제2 디바이스 중 메시지 송신 대상에 포함되는 디바이스 그룹의 식별자에 대응하는 제1 공개키와 상기 포함되는 디바이스 그룹에서 제외되는 디바이스 그룹의 식별자에 대응하는 제2 공개키로 구성된다.The first subset difference-based encryption key corresponds to a first public key corresponding to an identifier of a device group included in a message transmission target among the plurality of second devices and an identifier of a device group excluded from the included device group. It consists of a second public key.

상기 비밀키는 상기 제2 디바이스의 식별자에 대응하는 포함되는 공개키와 제외되는 공개키로 구성되며, 해당 디바이스에 대하여 선택된 랜덤값(R)을 상기 포함되는 공개키에 곱하고, 상기 제외되는 공개키에 랜덤값의 역원(R-1)을 곱하여 생성된다.The private key includes an included public key corresponding to the identifier of the second device and a excluded public key, and multiplies the included public key by a random value R selected for the corresponding device, and the excluded public key. It is generated by multiplying the inverse of the random value (R -1 ).

상기 제2 부분집합 차 기반 암호화키를 생성하는 단계는, 상기 랜덤값(R)을 상기 포함되는 공개키에 곱한 값과 상기 제외되는 공개키에 랜덤값의 역원(R-1)을 곱한 값을 곱셈 연산하여 상기 랜덤값(R)과 상기 랜덤값의 역원(R-1)을 소거함으로써, 상기 제1 공개키 및 상기 제2 공개키를 상기 비밀키로부터 산출한다.The generating of the second subset difference-based encryption key may include multiplying the random value R by the included public key and the excluded public key by the inverse of the random value R −1 . The first public key and the second public key are calculated from the secret key by multiplying and erasing the random value R and the inverse R- 1 of the random value.

본 발명의 실시예에 따른 부분집합 차 기반 브로드캐스트 암호화 및 복호화 방법은, 암호문의 크기를 종래와 같이 O(r)로 유지하면서, 비밀키의 크기를 종래보다 작은 O(log N)으로 줄일 수 있다.The subset difference-based broadcast encryption and decryption method according to an embodiment of the present invention can reduce the size of the secret key to O (log N) smaller than before while maintaining the size of the ciphertext as O (r). have.

도 1은 본 발명의 실시예에 따른 브로드캐스트 시스템의 구성을 개략적으로 예시한 도면.
도 2는 본 발명의 실시예에 따른 부분집합 차 기반 브로드캐스트 암호화 방법을 나타낸 흐름도.
도 3은 본 발명의 실시예에 따른 부분집합 차 기반 브로드캐스트 복호화 방법을 나타낸 흐름도.
1 is a diagram schematically illustrating a configuration of a broadcast system according to an embodiment of the present invention.
2 is a flowchart illustrating a subset difference based broadcast encryption method according to an embodiment of the present invention.
3 is a flowchart illustrating a subset difference based broadcast decoding method according to an embodiment of the present invention.

본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.As used herein, the singular forms "a", "an" and "the" include plural forms unless the context clearly indicates otherwise. In this specification, terms such as “consisting of” or “comprising” should not be construed as necessarily including all of the various components or steps described in the specification, and some of the components or some steps It should be construed that it may not be included or may further include additional components or steps. In addition, the terms "... unit", "module", etc. described in the specification mean a unit for processing at least one function or operation, which may be implemented in hardware or software or a combination of hardware and software. .

이하, 본 발명의 다양한 실시예들을 첨부된 도면을 참조하여 상술하겠다. Hereinafter, various embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 실시예에 따른 브로드캐스트 시스템의 구성을 개략적으로 예시한 도면이다.1 is a diagram schematically illustrating a configuration of a broadcast system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 실시예에 따른 브로드캐스트 시스템(100)은 브로드캐스팅을 통해 메시지를 송신하는 제1 디바이스(110) 및 제1 디바이스(110)로부터 브로드캐스팅된 메시지를 수신하는 다수의 제2 디바이스(120)를 포함한다.Referring to FIG. 1, the broadcast system 100 according to an exemplary embodiment of the present invention may receive a first device 110 transmitting a message through broadcasting and a plurality of broadcast messages received from the first device 110. The second device 120.

즉, 본 발명의 실시예에 따른 브로드캐스트 시스템(100)은 공개키 기반 방식의 브로드캐스트 암호화 및 복호화 기법을 사용하므로, 브로드캐스트 시스템(100)을 구성하는 디바이스들은 모두 브로드캐스트 방식으로 메시지를 송수신할 수 있다. 다만, 이해와 설명의 편의를 위하여, 전술한 바와 같이, 송신 노드로 동작하는 디바이스를 제1 디바이스(110)로, 수신 노드로 동작하는 디바이스를 제2 디바이스(120)로 칭하기로 한다.That is, since the broadcast system 100 according to the embodiment of the present invention uses a public encryption-based broadcast encryption and decryption technique, all devices constituting the broadcast system 100 transmit and receive messages in a broadcast manner. can do. However, for convenience of understanding and explanation, as described above, a device operating as a transmitting node will be referred to as a first device 110 and a device operating as a receiving node as a second device 120.

다시 도 1을 참조하면, 제1 디바이스(110)는 다수의 제2 디바이스(120) 중 특정 디바이스(130)로 메시지를 송신하기 위하여, 본 발명의 실시예에 따른 부분집합 차 기반 브로드캐스트 암호화 방법을 수행하여 암호화된 메시지를 브로드캐스팅한다.Referring back to FIG. 1, the first device 110 transmits a message to a specific device 130 among a plurality of second devices 120, according to a subset difference-based broadcast encryption method according to an embodiment of the present invention. To broadcast the encrypted message.

그리고, 제1 디바이스(110)가 브로드캐스팅한 암호화된 메시지를 수신한 특정 디바이스(130)는 본 발명의 실시예에 따른 부분집합 차 기반 브로드캐스트 복호화 방법을 수행하여 암호화된 메시지를 복호화할 수 있다.In addition, the specific device 130 that receives the encrypted message broadcast by the first device 110 may decrypt the encrypted message by performing a subset difference based broadcast decryption method according to an embodiment of the present invention. .

제1 디바이스(110)가 수행하는 브로드캐스트 암호화 방법 및 제2 디바이스(120)가 수행하는 브로드캐스트 복호화 방법에 대해서는 이후, 도 2 및 도 3을 참조하여 설명하기로 한다.A broadcast encryption method performed by the first device 110 and a broadcast decryption method performed by the second device 120 will be described below with reference to FIGS. 2 and 3.

도 2는 본 발명의 실시예에 따른 부분집합 차 기반 브로드캐스트 암호화 방법을 나타낸 흐름도이다.2 is a flowchart illustrating a subset difference based broadcast encryption method according to an embodiment of the present invention.

S210 단계에서, 제1 디바이스(110)는 공개키(PK) 및 다수의 제2 디바이스(120) 각각에 대한 비밀키(SKID)를 생성한다.In operation S210, the first device 110 generates a public key PK and a secret key SK ID for each of the plurality of second devices 120.

우선, 바이리니어 그룹(bilinear group)

Figure 112017030422643-pat00001
가 생성된다. 여기서,
Figure 112017030422643-pat00002
는 비트 사이즈 θ(λ)의 프라임 오더(prime order) p에 대한 바이리니어 그룹이다. 그리고, 랜덤 엘리먼트(random element) g ∈
Figure 112017030422643-pat00003
가 선택되고, 랜덤 지수(random exponent)
Figure 112017030422643-pat00004
(
Figure 112017030422643-pat00005
는 랜덤값인 p에 대한 잉여계)가 선택된다. 그리고, O(l)개의 랜덤 그룹 엘리먼트(random group elements) h1,0, h1,1, …, hl,0, hl,1, k1,0, k1,1, …, kl,0, kl,1
Figure 112017030422643-pat00006
가 선택된다. 그래서, 마스터키 MK = gα와 하기 수학식 1의 공개키가 산출된다.First, a bilinear group
Figure 112017030422643-pat00001
Is generated. here,
Figure 112017030422643-pat00002
Is a bilinear group for the prime order p of the bit size θ (λ). And random element g ∈
Figure 112017030422643-pat00003
Is selected and a random exponent
Figure 112017030422643-pat00004
(
Figure 112017030422643-pat00005
Is a surplus system for p, which is a random value. And O (l) random group elements h 1,0 , h 1 , 1 ,. , h l, 0 , h l, 1 , k 1,0 , k 1,1 ,... , k l, 0 , k l, 1
Figure 112017030422643-pat00006
Is selected. Thus, the master key MK = g α and the public key of the following equation (1) are calculated.

Figure 112017030422643-pat00007
Figure 112017030422643-pat00007

비밀키는 식별자(ID), 마스터키(MK) 및 공개키(PK)를 이용하여 생성된다. 즉, 랜덤 지수 αω 및 r ∈

Figure 112017030422643-pat00008
가 선택되고, 비밀키(SKID)가 하기 수학식 2와 같이 산출된다.The secret key is generated using an identifier (ID), a master key (MK) and a public key (PK). That is, the random indices α ω and r ∈
Figure 112017030422643-pat00008
Is selected, and the secret key SK ID is calculated as shown in Equation 2 below.

Figure 112017030422643-pat00009
Figure 112017030422643-pat00009

여기서,

Figure 112017030422643-pat00010
이다.here,
Figure 112017030422643-pat00010
to be.

예를 들어, 제1 디바이스(110)는 하기 수학식 3과 같이 정의되는 공개키(PK)를 생성할 수 있다.For example, the first device 110 may generate a public key PK defined as in Equation 3 below.

Figure 112017030422643-pat00011
Figure 112017030422643-pat00011

여기서, d는 공개키의 개수를 나타낸다. 다수의 제2 디바이스(120)의 개수가 N이라고 가정하면, 공개키의 개수 d=log N이 된다.Where d represents the number of public keys. Assuming that the number of the plurality of second devices 120 is N, the number of public keys d = log N.

그리고, 비밀키(SKID)는 제2 디바이스(120) 각각의 식별자(ID)에 대응하는 공개키를 이용하여 생성된다.The secret key SK ID is generated using a public key corresponding to the identifier ID of each of the second devices 120.

여기서, 각각의 식별자(ID)는 블린 표현(Boolean representation)을 이용하여 표현될 수 있다. 즉, 식별자는 ID=(b1…bd)와 같이, d개의 비트를 포함하는 비트값으로 표현될 수 있다.Here, each identifier ID may be represented using a Boolean representation. That is, the identifier may be represented by a bit value including d bits, such as ID = (b 1 ... b d ).

예를 들어, 제2 디바이스(120)가 8개라 가정하면, 공개키 개수 d는 3이 된다. 이와 같은 경우, 8개의 제2 디바이스(120) 각각의 식별자는 000, 001, 010, 011, 100, 101, 110, 111이 될 수 있다.For example, assuming eight second devices 120, the number of public keys d is three. In this case, identifiers of the eight second devices 120 may be 000, 001, 010, 011, 100, 101, 110, and 111.

이하에서는, 본 발명의 이해와 설명의 편의를 위하여, 다수의 제2 디바이스(120)의 개수가 8이라고 가정하여 설명하기로 한다.Hereinafter, for convenience of understanding and explanation of the present invention, it will be described on the assumption that the number of the plurality of second devices 120 is eight.

다수의 제2 디바이스(120)의 개수가 8인 경우, 공개키는 하기 수학식 4와 같이 나타낼 수 있다.When the number of the plurality of second devices 120 is 8, the public key may be represented by Equation 4 below.

Figure 112017030422643-pat00012
Figure 112017030422643-pat00012

식별자(ID)에 대응하는 공개키는 하기 수학식 5로 표현될 수 있다.The public key corresponding to the identifier ID may be represented by Equation 5 below.

Figure 112017030422643-pat00013
Figure 112017030422643-pat00013

비밀키(SKID)는 이와 같은 식별자(ID)에 대응하는 포함되는 공개키와 제외되는 공개키로 구성되며, 해당 디바이스에 대하여 선택된 랜덤값(R)을 포함되는 공개키에 곱하고, 제외되는 공개키에 랜덤값의 역원(R-1)을 곱하여 생성된다.The secret key (SK ID ) is composed of an included public key corresponding to the identifier (ID) and the excluded public key, multiplying the public key included by the random value (R) selected for the device, and excluded public key Is generated by multiplying the inverse of the random value (R -1 ) by.

예를 들어, 8개의 제2 디바이스(120) 중 ID=001의 식별자를 가지는 제2 디바이스(120)의 비밀키(SK001)는 하기 수학식 6과 같이 나타낼 수 있다.For example, the secret key SK 001 of the second device 120 having an identifier of ID = 001 among the eight second devices 120 may be represented by Equation 6 below.

Figure 112017030422643-pat00014
Figure 112017030422643-pat00014

S220 단계에서, 제1 디바이스(110)는 공개키(PK)를 이용하여 부분집합 차(subset difference) 기반 암호화키를 생성한다.In operation S220, the first device 110 generates a subset difference based encryption key using the public key PK.

예를 들어, 부분집합 차 기반 암호화키는, 다수의 제2 디바이스(120) 중에서 메시지 송신 대상에 포함되는 디바이스 그룹의 식별자에 대응하는 공개키와 포함되는 디바이스 그룹에서 제외되는 디바이스 그룹의 식별자에 대응하는 공개키로 생성될 수 있다.For example, the subset difference-based encryption key corresponds to a public key corresponding to an identifier of a device group included in a message transmission target among the plurality of second devices 120 and an identifier of a device group excluded from the included device group. Can be generated with a public key.

특정 디바이스(130)로 구성되는 디바이스 그룹은 식별자 쌍으로 표현되고, 식별자 쌍은 제1 비트값 및 제2 비트값을 포함할 수 있다. 여기서, 제1 비트값은 제2 디바이스(120) 중 일부 디바이스의 식별자를 표현하는 비트값이고, 제2 비트값은 제1 비트값으로 표현된 일부 디바이스에서 제외되는 디바이스의 식별자를 표현하는 비트값일 수 있다.The device group composed of the specific device 130 is represented by an identifier pair, and the identifier pair may include a first bit value and a second bit value. Here, the first bit value is a bit value representing an identifier of some devices of the second device 120, and the second bit value is a bit value representing an identifier of a device excluded from some devices represented by the first bit value. Can be.

보다 상세하게, 제1 비트값 및 제2 비트값은 각각 제2 디바이스(120)의 식별자와 대응되는 비트값과 유사하게 d개의 비트를 포함하며, 비트값을 구성하는 d개의 비트 각각은 0, 1 및 * 중 하나의 값을 가질 수 있다. 이때, *는 0 및 1을 모두 포함하는 값일 수 있다.In more detail, each of the first bit value and the second bit value includes d bits similar to the bit value corresponding to the identifier of the second device 120, and each of the d bits constituting the bit value is 0, It can have one of 1 and *. At this time, * may be a value including both 0 and 1.

예를 들어, 8개의 제2 디바이스(120) 각각의 식별자를 3개의 비트를 포함하는 비트값으로 표현하면, 순서대로 000(노드 1), 001(노드 2), 010(노드 3), 011(노드 4), 100(노드 5), 101(노드 6), 110(노드 7), 111(노드 8)가 되는데, 브로드캐스트된 암호화 메시지를 수신하여 복호화할 수 있는 특정 디바이스(130)가 노드 2, 노드 4 및 노드 6이라고 가정한다. 이 경우, 특정 디바이스(130)로 구성되는 디바이스 그룹은 식별자 쌍은 (**1, 111)로 표현될 수 있다. 여기서, **1은 제1 비트값으로서, 포함되는 디바이스 그룹의 식별자를 나타내고, 111은 제2 비트값으로서, 제외되는 디바이스 그룹의 식별자를 나타낸다. 즉, **1은 001(노드 2), 011(노드 4), 101(노드 6) 및 111(노드 8)을 나타내며, **1에서 111(노드 8)을 제외하면, 특정 디바이스(130)로 구성되는 디바이스 그룹은 001(노드 2), 011(노드 4) 및 101(노드 6)이 될 수 있다.For example, if the identifier of each of the eight second devices 120 is expressed as a bit value including three bits, 000 (node 1), 001 (node 2), 010 (node 3), and 011 ( Nodes 4), 100 (node 5), 101 (node 6), 110 (node 7), and 111 (node 8), where a particular device 130 is capable of receiving and decrypting the broadcast encrypted message. , Assume node 4 and node 6. In this case, the device group composed of the specific device 130 may be represented by the identifier pair (** 1, 111). Here, ** 1 represents an identifier of a device group included as a first bit value, and 111 represents an identifier of a device group to be excluded as a second bit value. That is, ** 1 represents 001 (node 2), 011 (node 4), 101 (node 6), and 111 (node 8), except for ** 1 to 111 (node 8), the specific device 130 The device group may consist of 001 (node 2), 011 (node 4), and 101 (node 6).

특정 디바이스(130)로 구성되는 디바이스 그룹은 식별자 쌍 (**1, 111)에 대응하는 공개키는, 포함되는 공개키인 (h1,0 h1,1 h2,0 h2,1 h3,1)와 제외되는 공개키인 (k1,1 k2,1 k3,1)가 될 수 있다.The device group constituted of the specific device 130 has a public key corresponding to the identifier pair (** 1, 111), which is the public key included (h 1,0 h 1,1 h 2,0 h 2,1 h 3,1 ) and the excluded public key (k 1,1 k 2,1 k 3,1 ).

따라서, 부분집합 차 기반 암호화키는, 포함되는 디바이스 그룹의 식별자와 제외되는 디바이스 그룹의 식별자로 구성되는 식별자 쌍 (**1, 111)에 대응하는 공개키인, 포함되는 디바이스 그룹의 식별자에 대응하는 공개키 (h1,0 h1,1 h2,0 h2,1 h3,1)와 제외되는 디바이스 그룹의 식별자에 대응하는 공개키(k1,1 k2,1 k3,1)로 생성될 수 있다. 즉, 부분집합 차 기반 암호화키는 포함되는 디바이스 그룹의 식별자에 대응하는 공개키와 제외되는 디바이스 그룹의 식별자에 대응하는 공개키로 구성될 수있다.Accordingly, the subset difference-based encryption key corresponds to the identifier of the included device group, which is a public key corresponding to the identifier pair (** 1, 111) consisting of the identifier of the included device group and the identifier of the excluded device group. The public key (k 1,1 k 2,1 k 3,1) corresponding to the public key (h 1,0 h 1,1 h 2,0 h 2,1 h 3,1 ) Can be generated). That is, the subset difference-based encryption key may be composed of a public key corresponding to the identifier of the included device group and a public key corresponding to the identifier of the excluded device group.

S230 단계에서, 제1 디바이스(110)는 생성된 부분집합 차 기반 암호화키를 이용하여 메시지를 암호화하여 브로드캐스팅한다.In operation S230, the first device 110 encrypts and broadcasts a message using the generated subset difference-based encryption key.

즉, 부분집합 차 기반 암호화키를 이용한 메시지 암호화는, 레이블(lables) (GL, ML), 메시지(M ∈

Figure 112017030422643-pat00015
T) 및 공개키(PK)를 이용하여 수행된다. 랜덤 지수 t ∈
Figure 112017030422643-pat00016
가 선택되고, 암시적으로 (GL, ML)이 포함된 암호문(ciphertext)이 하기 수학식 7과 같이 산출된다.That is, message encryption using a subset difference-based encryption key includes labels (GL, ML) and messages (M ∈).
Figure 112017030422643-pat00015
T ) and public key (PK). Random exponent t ∈
Figure 112017030422643-pat00016
Is selected, and a ciphertext implicitly including (GL, ML) is calculated as in Equation 7 below.

Figure 112017030422643-pat00017
Figure 112017030422643-pat00017

여기서,

Figure 112017030422643-pat00018
이다.here,
Figure 112017030422643-pat00018
to be.

도 3은 본 발명의 실시예에 따른 부분집합 차 기반 브로드캐스트 복호화 방법을 나타낸 흐름도이다.3 is a flowchart illustrating a subset difference based broadcast decoding method according to an embodiment of the present invention.

S310 단계에서, 다수의 제2 디바이스(120)는 제1 디바이스(110)가 브로드캐스팅한 암호화 메시지를 수신한다.In operation S310, the plurality of second devices 120 receives an encryption message broadcast by the first device 110.

S320 단계에서, 다수의 제2 디바이스(120)는 암호화 메시지를 수신함에 따라 수신된 암호화 메시지 및 미리 저장된 비밀키와 공개키를 이용하여 부분집합 차 기반 암호화키를 생성한다. 여기서, 비밀키과 공개키는 전술한 바와 같이, 제1 디바이스(110)가 생성하며, 다수의 제2 디바이스(120) 각각은 제1 디바이스(110)로부터 공개키와 비밀키를 전달받아 미리 저장할 수 있다.In operation S320, the plurality of second devices 120 generates a subset difference-based encryption key by using the received encryption message, a previously stored secret key, and a public key as the encryption message is received. As described above, the secret key and the public key are generated by the first device 110, and each of the plurality of second devices 120 may receive the public key and the private key from the first device 110 and store them in advance. have.

즉, 다수의 제2 디바이스(120)는 암호화 메시지의 암호화에 사용된 부분집합 차 기반 암호화키를 구성하는 공개키를 산출하여, 제1 디바이스(110)가 생성한 부분집합 차 기반 암호화키를 동일하게 생성할 수 있다.That is, the plurality of second devices 120 calculates a public key constituting the subset difference-based encryption key used for encrypting the encrypted message, so that the plurality of second devices 120 share the subset difference-based encryption key generated by the first device 110. Can be generated.

물론, 다수의 제2 디바이스(120) 중 특정 디바이스(130)만이 제1 디바이스(110)가 생성한 부분집합 차 기반 암호화키를 동일하게 생성할 수 있다.Of course, only a specific device 130 among the plurality of second devices 120 may generate the same subset-based encryption key generated by the first device 110.

예를 들어, 제1 디바이스(110)가 생성한 부분집합 차 기반 암호화키가, 식별자 쌍 (**1, 111)에 대응하는 공개키인, 포함되는 디바이스 그룹의 식별자에 대응하는 공개키 (h1,0 h1,1 h2,0 h2,1 h3,1)와 제외되는 디바이스 그룹의 식별자에 대응하는 공개키(k1,1 k2,1 k3,1)로 생성되었다고 가정하면, 8개의 제2 디바이스(120) 중 ID=001의 식별자를 가지는 제2 디바이스(120)는 특정 디바이스(130)가 된다. 이러한 ID=001의 식별자를 가지는 특정 디바이스(130)는 수학식 4와 같은 비밀키를 가지고 있다. ID=001의 식별자를 가지는 특정 디바이스(130)는 수학식 4의 비밀키와 공개키를 이용하여 하기 수학식 5와 같이, 제1 디바이스(110)가 생성한 부분집합 차 기반 암호화키를 동일하게 생성할 수 있다.For example, the subset difference-based encryption key generated by the first device 110 is the public key corresponding to the identifier of the device group to be included, which is the public key corresponding to the identifier pair (** 1, 111). Suppose it was created with a public key (k 1,1 k 2,1 k 3,1 ) corresponding to 1,0 h 1,1 h 2,0 h 2,1 h 3,1 ) and an identifier of the device group to be excluded. In this case, the second device 120 having an identifier of ID = 001 among the eight second devices 120 becomes the specific device 130. The specific device 130 having the identifier of ID = 001 has a secret key as shown in Equation (4). The specific device 130 having an identifier of ID = 001 uses the secret key and the public key of Equation 4 to equalize the subset difference-based encryption key generated by the first device 110 as shown in Equation 5 below. Can be generated.

Figure 112017030422643-pat00019
Figure 112017030422643-pat00019

즉, ID=001의 식별자를 가지는 특정 디바이스(130)는, 포함되는 공개키에 곱해진 랜덤값(R)과 제외되는 공개키에 곱해진 랜덤값의 역원(R-1)을 곱셈 연산에 의하여 소거함으로써, 제1 디바이스(110)가 생성한 부분집합 차 기반 암호화키를 구성하는 디바이스 그룹의 식별자에 대응하는 공개키와 제외되는 디바이스 그룹의 식별자에 대응하는 공개키를 자신의 비밀키로부터 산출할 수 있다.That is, the specific device 130 having an identifier of ID = 001 may perform a multiplication operation on the random value R multiplied by the included public key and the inverse R −1 of the random value multiplied by the excluded public key. By erasing, the public key corresponding to the identifier of the device group constituting the subset difference-based encryption key generated by the first device 110 and the public key corresponding to the identifier of the excluded device group can be calculated from its private key. Can be.

한편, ID=111의 식별자를 가지는 특정 디바이스(130)가 아닌 제2 디바이스(120)는 하기 수학식 6과 같은 비밀키를 가진다.On the other hand, the second device 120 rather than the specific device 130 having an identifier of ID = 111 has a secret key as shown in Equation 6 below.

Figure 112017030422643-pat00020
Figure 112017030422643-pat00020

ID=111의 식별자를 가지는 제2 디바이스(120)는, 포함되는 공개키에 곱해진 랜덤값(R)과 제외되는 공개키에 곱해진 랜덤값의 역원(R-1)을 곱셈 연산에 의하여 소거하기 위하여, 제1 디바이스(110)가 생성한 부분집합 차 기반 암호화키의 제외되는 공개키 k1,1 k2,1 k3,1 중 적어도 하나를 비밀키로 가지고 있어야 한다. 그런데, ID=111의 식별자를 가지는 제2 디바이스(120)의 비밀키를 나타내는 수학식 6에서 보여지듯이, ID=111의 식별자를 가지는 제2 디바이스(120)는 R-1 · k1, 1 , R-1 · k2,1 , R-1 · k3, 1 중 적어도 하나의 비밀키를 가지고 있지 않다. 따라서, 특정 디바이스(130)가 아닌 제2 디바이스(120)는, 포함되는 공개키에 곱해진 랜덤값(R)과 제외되는 공개키에 곱해진 랜덤값의 역원(R-1)을 소거하여 제1 디바이스(110)가 생성한 부분집합 차 기반 암호화키를 구성하는 공개키를 자신의 비밀키로부터 산출할 수 없으므로, 제1 디바이스(110)가 생성한 부분집합 차 기반 암호화키를 생성할 수 없다.The second device 120 having an identifier of ID = 111 erases a random value R multiplied by the included public key and an inverse R -1 of the random value multiplied by the excluded public key by a multiplication operation. In order to do so, at least one of the excluded public keys k 1,1 k 2,1 k 3,1 of the subset difference-based encryption key generated by the first device 110 must be provided as a secret key. However, as shown in Equation 6 representing the secret key of the second device 120 having the identifier of ID = 111, the second device 120 having the identifier of ID = 111 has R −1 · k 1, 1 ,. R -1 · k 2,1, R -1 · k 3, does not have at least one secret key of the first. Accordingly, the second device 120, not the specific device 130, erases the inverse R- 1 of the random value multiplied by the excluded public key and the random value R multiplied by the included public key. Since the public key constituting the subset difference-based encryption key generated by the first device 110 cannot be calculated from its secret key, the subset difference-based encryption key generated by the first device 110 cannot be generated. .

S230 단계에서, 제1 디바이스(110)는 생성된 부분집합 차 기반 암호화키를 이용하여 암호화된 메시지를 복호화한다.In operation S230, the first device 110 decrypts the encrypted message using the generated subset difference based encryption key.

즉, 암호화된 메시지의 복호화는, 암호문(CT(GL, ML)), 비밀키(SKID) 및 공개키(PK)를 이용하여 수행된다. d를 ML과는 다른 ID에서의 비트수라고 가정한다. 만약, d > 0이면,

Figure 112017030422643-pat00021
Figure 112017030422643-pat00022
이 계산되고, 복화화된 메시지는 하기 수학식 10과 같이 산출된다.That is, decryption of the encrypted message is performed using a ciphertext (CT (GL, ML) ), a secret key (SK ID ), and a public key (PK). Assume d is the number of bits in an ID different from ML. If d> 0,
Figure 112017030422643-pat00021
and
Figure 112017030422643-pat00022
The calculated and complexed message is calculated as shown in Equation 10 below.

Figure 112017030422643-pat00023
Figure 112017030422643-pat00023

정확성은 하기 수학식 11에 의하여 검증될 수 있다.The accuracy can be verified by the following equation (11).

Figure 112017030422643-pat00024
Figure 112017030422643-pat00024

여기서,

Figure 112017030422643-pat00025
이고,here,
Figure 112017030422643-pat00025
ego,

Figure 112017030422643-pat00026
이고,
Figure 112017030422643-pat00026
ego,

Figure 112017030422643-pat00027
이다.
Figure 112017030422643-pat00027
to be.

한편, 전술된 실시예의 구성 요소는 프로세스적인 관점에서 용이하게 파악될 수 있다. 즉, 각각의 구성 요소는 각각의 프로세스로 파악될 수 있다. 또한 전술된 실시예의 프로세스는 장치의 구성 요소 관점에서 용이하게 파악될 수 있다.On the other hand, the components of the above-described embodiment can be easily identified from a process point of view. That is, each component can be identified as a respective process. In addition, the process of the above-described embodiment can be easily understood in terms of the components of the apparatus.

또한 앞서 설명한 기술적 내용들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예들을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 하드웨어 장치는 실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.In addition, the technical contents described above may be embodied in the form of program instructions that may be executed by various computer means and may be recorded in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the media may be those specially designed and constructed for the purposes of the embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

상기한 본 발명의 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대한 통상의 지식을 가지는 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.The embodiments of the present invention described above are disclosed for purposes of illustration, and those skilled in the art having ordinary knowledge of the present invention may make various modifications, changes, and additions within the spirit and scope of the present invention. Should be considered to be within the scope of the following claims.

100: 브로드캐스트 시스템
110: 제1 디바이스
120: 제2 디바이스
130: 특정 디바이스
100: broadcast system
110: first device
120: second device
130: specific device

Claims (9)

제1 디바이스가 다수의 제2 디바이스 중 적어도 하나의 특정 제2 디바이스로 메시지를 송신하기 위하여 수행하는 브로드캐스트 암호화 방법에 있어서,
상기 제2 디바이스들의 식별자들에 대응하는 복수의 공개키들 및 상기 다수의 제2 디바이스 각각에 대한 비밀키를 생성하는 단계;
상기 공개키들을 이용하여 부분집합 차(subset difference) 기반 암호화키를 생성하는 단계; 및
상기 생성된 부분집합 차 기반 암호화키를 이용하여 메시지를 암호화하여 브로드캐스팅하는 단계를 포함하되,
상기 특정 제2 디바이스는 디바이스 그룹에 속하며,
상기 부분집합 차 기반 암호화키는, 상기 다수의 제2 디바이스 중 메시지 송신 대상에 포함되는 디바이스 그룹에 속하는 상기 특정 제2 디바이스의 식별자에 대응하는 공개키와 상기 포함되는 디바이스 그룹에서 제외되는 제2 디바이스의 식별자에 대응하는 공개키로 생성되는 것을 특징으로 하는 브로드캐스트 암호화 방법.
A broadcast encryption method performed by a first device to transmit a message to at least one specific second device of a plurality of second devices, the method comprising:
Generating a plurality of public keys corresponding to identifiers of the second devices and a private key for each of the plurality of second devices;
Generating a subset difference based encryption key using the public keys; And
Encrypting and broadcasting a message using the generated subset difference-based encryption key,
The specific second device belongs to a device group,
The subset difference-based encryption key is a public key corresponding to an identifier of the specific second device belonging to a device group included in a message transmission target among the plurality of second devices and a second device excluded from the included device group. And a public key corresponding to the identifier of the broadcast encryption method.
제1항에 있어서,
상기 식별자는 블린 표현(Boolean representation)을 이용하여 표현되는 것을 특징으로 하는 브로드캐스트 암호화 방법.
The method of claim 1,
And the identifier is represented using a Boolean representation.
제1항에 있어서,
상기 비밀키는 상기 디바이스 그룹에 속하는 상기 특정 제2 디바이스의 식별자에 대응하는 공개키와 상기 디바이스 그룹에서 제외되는 상기 제2 디바이스의 식별자에 대응하는 공개키를 이용함에 의해 생성되며, 해당 제2 디바이스에 대하여 선택된 랜덤값(R)을 상기 포함되는 공개키에 곱하고, 상기 제외되는 공개키에 랜덤값의 역원(R-1)을 곱하여 생성되는 것을 특징으로 하는 브로드캐스트 암호화 방법.
The method of claim 1,
The secret key is generated by using a public key corresponding to an identifier of the specific second device belonging to the device group and a public key corresponding to an identifier of the second device excluded from the device group, and corresponding second device Is generated by multiplying the included public key by the selected random value (R) and multiplying the excluded public key by the inverse (R -1 ) of the random value.
제1항에 있어서,
상기 특정 제2 디바이스로 구성되는 디바이스 그룹은 제1 비트값 및 제2 비트값을 포함하는 식별자 쌍으로 표현되고,
상기 제1 비트값은 상기 특정 제2 디바이스 중 일부의 식별자를 표현하는 비트값이고, 상기 제2 비트값은 상기 특정 제2 디바이스 중 나머지 제2 디바이스의 식별자를 표현한 비트값인 것을 특징으로 하는 브로드캐스트 암호화 방법.
The method of claim 1,
The device group composed of the specific second device is represented by an identifier pair including a first bit value and a second bit value.
The first bit value is a bit value representing an identifier of a part of the specific second device, and the second bit value is a bit value representing an identifier of the remaining second device of the specific second device. Cast encryption method.
제1 디바이스가 다수의 제2 디바이스 중 적어도 하나의 특정 제2 디바이스로 메시지를 송신하기 위하여 브로드캐스팅한 암호화 메시지를 수신한 상기 특정 제2 디바이스가 수행하는 브로드캐스트 복호화 방법에 있어서,
상기 제1 디바이스가 생성한 상기 제2 디바이스들의 식별자들에 대응하는 복수의 공개키들과 상기 다수의 제2 디바이스 각각에 대한 비밀키들을 저장하는 단계;
상기 수신된 암호화 메시지 및 상기 저장된 비밀키들과 공개키들을 이용하여 상기 제1 디바이스가 생성한 제1 부분집합 차 기반 암호화키와 동일한 제2 부분집합 차 기반 암호화키를 생성하는 단계; 및
상기 생성된 제2 부분집합 차 기반 암호화키를 이용하여 상기 암호화 메시지를 복호화하는 단계를 포함하되,
상기 제2 부분집합 차 기반 암호화키는, 상기 제1 부분집합 차 기반 암호화키를 구성하는 공개키를 상기 저장된 비밀키들과 공개키들로부터 산출하여 생성되는 것을 특징으로 하는 브로드캐스트 복호화 방법.
A broadcast decryption method performed by a specific second device that receives an encrypted message broadcast by a first device to transmit a message to at least one specific second device of a plurality of second devices.
Storing a plurality of public keys corresponding to identifiers of the second devices generated by the first device and secret keys for each of the plurality of second devices;
Generating a second subset difference-based encryption key that is identical to a first subset difference-based encryption key generated by the first device using the received encryption message and the stored secret keys and public keys; And
Decrypting the encrypted message using the generated second subset difference-based encryption key,
And the second subset difference-based encryption key is generated by calculating a public key constituting the first subset difference-based encryption key from the stored secret keys and the public keys.
제5항에 있어서, 상기 특정 제2 디바이스는 디바이스 그룹에 속하며,
상기 제1 부분집합 차 기반 암호화키는, 상기 다수의 제2 디바이스 중 메시지 송신 대상에 포함되는 디바이스 그룹에 속하는 상기 특정 제2 디바이스의 식별자에 대응하는 제1 공개키와 상기 포함되는 디바이스 그룹에서 제외되는 제2 디바이스의 식별자에 대응하는 제2 공개키로 구성되는 것을 특징으로 하는 브로드캐스트 복호화 방법.
The device of claim 5, wherein the specific second device belongs to a device group.
The first subset difference-based encryption key is excluded from the first public key and the included device group corresponding to an identifier of the specific second device belonging to a device group included in a message transmission target among the plurality of second devices. And a second public key corresponding to the identifier of the second device.
제6항에 있어서,
상기 비밀키는 상기 디바이스 그룹에 속하는 상기 특정 제2 디바이스의 식별자에 대응하는 제1 공개키와 상기 디바이스 그룹에서 제외되는 상기 제2 디바이스의 식별자에 대응하는 제2 공개키를 이용함에 의해 생성되며, 해당 제2 디바이스에 대하여 선택된 랜덤값(R)을 상기 제1 공개키에 곱하고, 상기 제2 공개키에 랜덤값의 역원(R-1)을 곱하여 생성되는 것을 특징으로 하는 브로드캐스트 복호화 방법.
The method of claim 6,
The secret key is generated by using a first public key corresponding to the identifier of the specific second device belonging to the device group and a second public key corresponding to the identifier of the second device excluded from the device group, And a random value (R) selected for the corresponding second device by multiplying the first public key and multiplying the inverse (R -1 ) of the random value by the second public key.
제7항에 있어서,
상기 제2 부분집합 차 기반 암호화키를 생성하는 단계는,
상기 랜덤값(R)을 상기 제1 공개키에 곱한 값과 상기 제2 공개키에 랜덤값의 역원(R-1)을 곱한 값을 곱셈 연산하여 상기 랜덤값(R)과 상기 랜덤값의 역원(R-1)을 소거함으로써, 상기 제1 공개키 및 상기 제2 공개키를 상기 비밀키로부터 산출하는 것을 특징으로 하는 브로드캐스트 복호화 방법.
The method of claim 7, wherein
Generating the second subset difference based encryption key,
The random value R is multiplied by the first public key and the second public key is multiplied by the inverse of the random value R- 1 to multiply and calculate the inverse of the random value R and the random value. And erasing (R -1 ), thereby calculating the first public key and the second public key from the secret key.
제1항 내지 제8항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.


A computer readable recording medium having recorded thereon a program for performing the method of any one of claims 1 to 8.


KR1020170039279A 2017-03-28 2017-03-28 Broadcast encryption and decryption method based on subset difference Active KR101967521B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170039279A KR101967521B1 (en) 2017-03-28 2017-03-28 Broadcast encryption and decryption method based on subset difference

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170039279A KR101967521B1 (en) 2017-03-28 2017-03-28 Broadcast encryption and decryption method based on subset difference

Publications (2)

Publication Number Publication Date
KR20180109487A KR20180109487A (en) 2018-10-08
KR101967521B1 true KR101967521B1 (en) 2019-08-13

Family

ID=63864460

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170039279A Active KR101967521B1 (en) 2017-03-28 2017-03-28 Broadcast encryption and decryption method based on subset difference

Country Status (1)

Country Link
KR (1) KR101967521B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016156045A1 (en) 2015-03-27 2016-10-06 International Business Machines Corporation Media key block based broadcast encryption

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101306211B1 (en) * 2011-10-18 2013-09-10 국방과학연구소 Method for broadcast encryption based on identification number
KR101533422B1 (en) * 2013-06-21 2015-07-10 고려대학교 산학협력단 Broadcast encryption method and system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016156045A1 (en) 2015-03-27 2016-10-06 International Business Machines Corporation Media key block based broadcast encryption

Also Published As

Publication number Publication date
KR20180109487A (en) 2018-10-08

Similar Documents

Publication Publication Date Title
US8005225B2 (en) Hierarchical threshold tree-based broadcast encryption method
US9698984B2 (en) Re-encrypted data verification program, re-encryption apparatus and re-encryption system
US10411885B2 (en) Method and system for group-oriented encryption and decryption with selection and exclusion functions
US9455828B2 (en) Re-encryption system, re-encryption method and re-encryption program
US9813386B2 (en) Cooperation service providing system and server apparatus
JP2009201090A (en) Key generating device, encrypting device, receiving device, key generating method, encrypting method, key processing method, and program
CN109543439B (en) A service request method and device for Internet of Vehicles
WO2016115663A1 (en) Method and apparatus for heterogeneous data storage management in cloud computing
US20180278417A1 (en) Apparatus and method for generating key, and apparatus and method for encryption
Vijayakumar et al. An effective key distribution for secure internet pay‐TV using access key hierarchies
KR101494510B1 (en) Apparatus and method for managing group key, recording medium thereof
EP2274867B1 (en) Keys for protecting user access to media
KR101308023B1 (en) Broadcast encryption method for securing recipient privacy
WO2007142170A1 (en) System for disabling unauthorized person, encryption device, encryption method, and program
HUANG Secure personal data sharing in cloud computing using attribute-based broadcast encryption
KR20150081168A (en) Identity- based broadcast method from lattices
Lv et al. Efficiently attribute-based access control for mobile cloud storage system
KR101967521B1 (en) Broadcast encryption and decryption method based on subset difference
JP2007189597A (en) ENCRYPTION DEVICE, ENCRYPTION METHOD, DECRYPTION DEVICE, AND DECRYPTION METHOD
KR101306211B1 (en) Method for broadcast encryption based on identification number
Pareek et al. Proxy re-encryption scheme for access control enforcement delegation on outsourced data in public cloud
Sultan et al. A secure re-encryption scheme for data sharing in unreliable cloud environment
Guo et al. Authenticated public key broadcast encryption with short ciphertexts
KR101507340B1 (en) Broadcast Encryption and Decryption Device and Method Thereof
Lingwei et al. Method of secure, scalable, and fine-grained data access control with efficient revocation in untrusted cloud

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20170328

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20181026

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20190328

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20190403

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20190403

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20220404

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20240403

Start annual number: 6

End annual number: 6