KR101533950B1 - Broadcast encryption method and system - Google Patents

Broadcast encryption method and system Download PDF

Info

Publication number
KR101533950B1
KR101533950B1 KR1020140052248A KR20140052248A KR101533950B1 KR 101533950 B1 KR101533950 B1 KR 101533950B1 KR 1020140052248 A KR1020140052248 A KR 1020140052248A KR 20140052248 A KR20140052248 A KR 20140052248A KR 101533950 B1 KR101533950 B1 KR 101533950B1
Authority
KR
South Korea
Prior art keywords
key
cipher text
broadcast
random number
generating
Prior art date
Application number
KR1020140052248A
Other languages
Korean (ko)
Other versions
KR20140148295A (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 고려대학교 산학협력단
Publication of KR20140148295A publication Critical patent/KR20140148295A/en
Application granted granted Critical
Publication of KR101533950B1 publication Critical patent/KR101533950B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy

Abstract

본 발명은 브로드캐스트 암호화 방법 및 시스템에 관한 것으로, 보다 구체적으로는 키생성부가 공개키 및 복수 개의 사용자단말별 고유한 비밀키를 생성하는 단계; 상기 키생성부가 상기 공개키를 메시지암호화부로 전송하고, 상기 복수 개의 사용자단말로 상기 비밀키를 각각 전송하는 단계; 상기 메시지암호화부가 상기 공개키 및 암호화하고자 하는 평문 메시지를 수신하고, 수신한 공개키에 기초하여 대칭키, 헤더 및 상기 평문 메시지에 대한 암호문을 생성하는 단계; 상기 메시지암호화부가 상기 평문 메시지를 수신하고자 하는 사용자단말의 수, 상기 헤더 및 암호문을 포함하는 브로드캐스트 암호문을 생성하여 서버부로 전송하는 단계; 상기 사용자단말이 수신한 비밀키에 기초하여 공개 변환키 및 비밀 변환키를 생성하고, 생성한 공개 변환키를 상기 서버부로 전송하는 단계; 상기 서버부가 수신한 공개 변환키를 이용하여 상기 브로드캐스트 암호문을 부분 복호화하고, 부분 복호화된 브로드캐스트 암호문을 상기 사용자단말로 전송하는 단계; 및 상기 사용자단말이 수신한 부분 복호화된 브로드캐스트 암호문에 대하여 상기 비밀 변환키를 이용하여 전체 복호화하여 평문 메시지를 획득하는 단계; 를 포함한다.
이러한 구성에 의해, 본 발명의 브로드캐스트 암호화 방법 및 시스템은 겹선형 그룹으로부터 난수값을 선택하여 공개 변환키 및 비밀 변환키를 생성한 후, 이를 이용하여 암호화된 메시지를 적은 연산량을 통해 용이하게 복호화할 수 있는 효과가 있다.
The present invention relates to a broadcast encryption method and system, and more particularly, to a broadcast encryption method and system, and more particularly, to a broadcast encryption method and system. Transmitting the public key to the message encryption unit and transmitting the secret key to the plurality of user terminals, respectively; The message encryption unit receiving the public key and the plain text message to be encrypted, and generating a symmetric key, a header, and a ciphertext for the plain text message based on the received public key; Generating a broadcast cipher text including the number of user terminals desiring to receive the plaintext message, the header and the cipher text, and transmitting the broadcast cipher text to the server unit; Generating a public conversion key and a secret conversion key based on the secret key received by the user terminal, and transmitting the generated publicity conversion key to the server unit; Partially decrypting the broadcast cipher text using the public key received by the server, and transmitting the partially decrypted broadcast cipher text to the user terminal; And decoding the partial decrypted broadcast cipher text received by the user terminal using the secret conversion key to obtain a plaintext message; .
According to the above configuration, the broadcast encryption method and system of the present invention generate a public-key conversion key and a secret-key conversion key by selecting a random number value from a double-linear group and then use this to easily decrypt the encrypted message through a small amount of calculation There is an effect that can be done.

Description

브로드캐스트 암호화 방법 및 시스템{Broadcast encryption method and system}[0001] Broadcast encryption method and system [0002]

본 발명은 브로드캐스트 암호화 방법 및 시스템에 관한 것으로, 특히 사용자단말이 공개키에 대한 저장량을 감소시키고, 단순한 연산량을 수행하도록 하여 효율적으로 메시지를 암호화할 수 있는 브로드캐스트 암호화 방법 및 시스템에 관한 것이다.
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a broadcast encryption method and system, and more particularly, to a broadcast encryption method and system capable of efficiently encrypting a message by allowing a user terminal to reduce a storage amount for a public key and perform a simple calculation.

IT 기술의 발달로 인하여 대용량 또는 중요한 보안 데이터가 사용자 단말간에 송수신되고 있다. 이처럼, 사용자단말간에 송수신되는 데이터가 해커의 공격에 의해 외부로 노출되는 것을 보호하기 위하여, 송수신 데이터를 암호화하는 암호화 방법이 사용되고 있다. 이러한 암호화 방법의 종류에는 대칭형 암호화 방식의 비밀키 암호화기법(DES)과 비대칭형 암호화 방식의 공개키 암호화 기법(RSA)이 있다. Due to the development of IT technology, large or important security data is transmitted and received between user terminals. As described above, in order to protect the data transmitted and received between the user terminals from being exposed to the outside by the attack of the hacker, an encryption method for encrypting the transmission / reception data is used. There are two types of encryption schemes: symmetric cryptography (DES) and asymmetric cryptography (RSA).

상기 비밀키 암호화 기법(DES)은 동일한 키로 암호화와 복호화를 수행하는 방법으로서, 보안 유지와 키 관리에 어려움이 있지만, 알고리즘이 비교적 간단하여 암호화 속도가 빠르고 용량이 작아 경제적인 장점을 갖는다. The secret key encryption scheme (DES) is a method of performing encryption and decryption using the same key. However, it is difficult to maintain security and key management. However, the algorithm has a relatively simple and fast encryption speed and a small capacity.

또한, 공개키 암호화 기법(RSA)은 공개되는 공개키(public key)와 본인만 사용하는 비밀키(private key)로 구성되는데, 이때 공개키와 비밀키가 별도로 관리되기 때문에 키 관리가 용이하며 암호화와 사용자 인증이 동시에 이루어지는 특징을 갖는다. 따라서, 이러한 공개키 암호화 기법은 전자 문서의 디지털서명, 부인봉쇄에 주로 사용되지만, 사용되는 알고리즘이 복잡하여 처리속도가 느리다는 단점이 있다. In addition, the public key cryptosystem (RSA) consists of a public key and a private key used only by the user. In this case, since the public key and the secret key are managed separately, And user authentication are simultaneously performed. Therefore, such a public key encryption technique is mainly used for digital signature and non-repudiation of electronic documents, but it has a disadvantage that the algorithm used is complicated and the processing speed is slow.

이러한 공개키 암호화 기법에서 임의의 사용자단말의 집합이 수신자단말이 되면서 발생했던 전송량 또는 키 관리 문제를 해결하기 위한 브로드캐스트 암호시스템은 송신자단말이 수신자단말의 집합을 지정한 후, 암호문을 생성하여 공개된 채널을 통해 전송하고, 수신자단말의 집합에 속하는 정당한 사용자단말만이 메시지를 복호화할 수 있는 암호 시스템이다. 수신자단말의 집합에 속하는 정당한 사용자단말만이 메시지를 암호화할 때 사용한 대칭키를 획득할 수 있게 되어 추가적인 키 관리가 필요하지 않고, 수신자단말이 여러 개임에도 하나의 암호문을 생성하므로 공개키 암호시스템을 사용하였을 때 보다 효율적으로 다중수신자에게 메시지전송이 가능한 기법이다.In the public key cryptosystem, a broadcast cryptosystem for solving the problem of the amount of transmission or key management that occurred when a set of arbitrary user terminals becomes a recipient terminal generates a cipher text after designating a set of receiver terminals, Channel, and only a legitimate user terminal belonging to a set of receiver terminals can decode the message. Only a legitimate user terminal belonging to a set of a receiver terminal can acquire a symmetric key used in encrypting a message, so that no additional key management is required, and since a recipient terminal generates one cipher text even though several recipient terminals are used, It is possible to transmit messages to multiple recipients more efficiently.

특히, 페어링 위임 프로토콜이란, 페어링 연산을 필요로 하는 사용자단말이 제3의 사용자단말을 이용하여 페어링 연산을 아웃소싱하는 방법으로서, 제한된 리소스를 가지게 되어, 페어링과 같은 무거운 연산을 수행하는데 한계를 가지는 기기들에 대한 연산량을 줄인다. 또한, 사용자단말은 제3자가 연산을 올바르게 하였는지 검증을 할 수 있으며, 제3의 사용자단말은 아웃소싱을 하는 동안 실제 페어링하려고 하는 값에 대해서 아무런 정보를 얻을 수 없기 때문에 제3의 사용자단말이 낮은 신뢰도를 갖더라도 안전하다.In particular, the pairing delegation protocol is a method in which a user terminal requiring a pairing operation outsources a pairing operation using a third user terminal, and has a limited resource, and thus has a limitation in performing heavy operations such as pairing Lt; / RTI > In addition, since the user terminal can verify whether the third party has performed the operation correctly and the third user terminal can not obtain any information about the value to be actually paired during the outsourcing, It is safe.

브로드캐스트 암호시스템은 아이디기반 암호시스템(Identity-Based Encryption: IBE) 및 속성기반 암호시스템(Attribute-Based Encryption: ABE)과 마찬가지로 복호화 시 페어링(pairing)과 같은 연산을 포함한다. 이러한 페어링 연산은 많은 연산량을 필요로 하며, 암호화된 메시지의 복호화 시간이 길어지게 되어, 리소스가 적은 이동기기에 적용하기 어려운 문제점이 발생했다.
The broadcast cryptosystem includes operations such as pairing during decryption as well as Identity-Based Encryption (IBE) and Attribute-Based Encryption (ABE). Such a pairing operation requires a large amount of computation, and a decryption time of an encrypted message is prolonged, which makes it difficult to apply it to a mobile device with a small amount of resources.

상기와 같은 종래 기술의 문제점을 해결하기 위해, 본 발명은 겹선형 그룹의 난수를 마스킹값으로 사용하여 공개 변환키 및 비밀 변환키를 통해 복호화하여 공개키에 대한 저장량 및 연산량을 감소시킬 수 있는 브로드캐스트 암호화 방법 및 시스템을 제공하고자 한다.
In order to solve the problems of the related art as described above, the present invention provides a method and apparatus for decoding a public key by using a random number of a group of linear groups as a masking value, Cast encryption method and system.

위와 같은 과제를 해결하기 위한 본 발명의 한 실시 예에 따른 브로드캐스트 암호화 방법은 키생성부가 공개키 및 복수 개의 사용자단말별 고유한 비밀키를 생성하는 단계; 상기 키생성부가 상기 공개키를 메시지암호화부로 전송하고, 상기 복수 개의 사용자단말로 상기 비밀키를 각각 전송하는 단계; 상기 메시지암호화부가 상기 공개키 및 암호화하고자 하는 평문 메시지를 수신하고, 수신한 공개키에 기초하여 대칭키, 헤더 및 상기 평문 메시지에 대한 암호문을 생성하는 단계; 상기 메시지암호화부가 상기 평문 메시지를 수신하고자 하는 사용자단말의 수, 상기 헤더 및 암호문을 포함하는 브로드캐스트 암호문을 생성하여 서버부로 전송하는 단계; 상기 사용자단말이 수신한 비밀키에 기초하여 공개 변환키 및 비밀 변환키를 생성하고, 생성한 공개 변환키를 상기 서버부로 전송하는 단계; 상기 서버부가 수신한 공개 변환키를 이용하여 상기 브로드캐스트 암호문을 부분 복호화하고, 부분 복호화된 브로드캐스트 암호문을 상기 사용자단말로 전송하는 단계; 및 상기 사용자단말이 수신한 부분 복호화된 브로드캐스트 암호문을 상기 비밀 변환키를 이용하여 전체 복호화하여 평문 메시지를 획득하는 단계;를 포함한다. According to another aspect of the present invention, there is provided a broadcast encryption method including: generating a public key and a secret key unique to a plurality of user terminals; Transmitting the public key to the message encryption unit and transmitting the secret key to the plurality of user terminals, respectively; The message encryption unit receiving the public key and the plain text message to be encrypted, and generating a symmetric key, a header, and a ciphertext for the plain text message based on the received public key; Generating a broadcast cipher text including the number of user terminals desiring to receive the plaintext message, the header and the cipher text, and transmitting the broadcast cipher text to the server unit; Generating a public conversion key and a secret conversion key based on the secret key received by the user terminal, and transmitting the generated publicity conversion key to the server unit; Partially decrypting the broadcast cipher text using the public key received by the server, and transmitting the partially decrypted broadcast cipher text to the user terminal; And obtaining a plaintext message by totally decrypting the partial decrypted broadcast cipher text received by the user terminal using the secret conversion key.

보다 바람직하게는 겹선형 그룹에 속하는 생성원 중 임의의 제1 생성원 및 제2 생성원을 선택하는 과정; 상기 제2 생성원에 속하는 임의의 제1 난수를 선택하는 과정; 상기 제1 난수를 공개키 알고리즘에 적용하여 공개키를 생성하는 과정; 및 상기 제1 난수에 기초하여 각각의 사용자단말별 고유한 비밀키를 생성하는 과정;을 포함하는 키생성부가 공개키 및 비밀키를 생성하는 단계를 포함할 수 있다.More preferably, selecting any of the first and second generation sources among the generation sources belonging to the double linear group; Selecting an arbitrary first random number belonging to the second generation source; Applying the first random number to a public key algorithm to generate a public key; And generating a secret key that is unique to each user terminal based on the first random number. The method may further include generating a public key and a secret key.

보다 바람직하게는 평문 메시지를 획득하고자 하는 사용자단말의 수, 상기 공개키 및 암호화하고자 하는 평문 메시지를 입력받는 과정; 겹선형 그룹에 속하는 임의의 제2 난수를 선택하는 과정; 상기 제2 난수와 평문 메시지를 해쉬연산하여 제3 난수를 생성하는 과정; 상기 제2 난수를 해쉬연산하여 제4 난수를 생성하는 과정; 상기 제3 난수에 기초하여 대칭키 및 헤더를 생성하는 과정; 상기 대칭키를 이용하여 상기 제2 난수를 암호화하는 과정; 및 상기 암호화된 제2 난수, 평문 메시지 및 제4 난수에 기초하여 상기 평문 메시지에 대한 암호문을 생성하는 과정;을 포함하는 메시지암호화부가 대칭키, 헤더 및 암호문을 생성하는 단계를 포함할 수 있다.More preferably, the number of user terminals desiring to acquire a plaintext message, the public key, and a plaintext message to be encrypted are input. Selecting an arbitrary second random number belonging to a double linear group; Generating a third random number by performing a hash operation on the second random number and the plaintext message; Generating a fourth random number by performing a hash operation on the second random number; Generating a symmetric key and a header based on the third random number; Encrypting the second random number using the symmetric key; And generating a ciphertext for the plaintext message based on the encrypted second random number, plaintext message, and fourth random number, and generating a symmetric key, a header, and a cipher text.

보다 바람직하게는 복수 개의 사용자단말 중 특정 사용자단말이 자신을 나타내는 사용자단말 고유정보와, 상기 특정 사용자단말의 고유한 비밀키를 입력받는 과정; 겹선형 그룹에 속하는 임의의 제5 난수를 선택하고, 선택한 제5 난수를 비밀 변환키로 설정하는 과정; 상기 비밀키 및 제5 난수에 기초하여 공개 변환키를 생성하는 과정; 및 상기 공개 변환키를 상기 서버부로 전송하는 과정;을 포함하는 사용자단말이 공개 변환키 및 비밀 변환키를 생성하고, 생성한 공개 변환키를 서버부로 전송하는 단계를 포함할 수 있다. More preferably, the method includes receiving user terminal unique information indicating a specific user terminal among a plurality of user terminals and a secret key unique to the specific user terminal; Selecting an arbitrary fifth random number belonging to the overlapped linear group and setting the selected fifth random number as a secret conversion key; Generating a public key based on the secret key and the fifth random number; And transmitting the open conversion key to the server unit. The user terminal may generate the open conversion key and the secret conversion key, and transmitting the generated open conversion key to the server unit.

보다 바람직하게는 상기 메시지암호화부로부터 브로드캐스트 암호문을 수신하는 과정; 상기 브로드캐스트 암호문 내 포함된 헤더, 암호화된 제2 난수 및 공개 변환키를 겹선형 함수에 적용하여 상기 브로드캐스트 암호문 중 일부를 복호화하여 제1 부분 복호화 암호문을 생성하는 과정; 상기 헤더를 겹선형 함수에 적용하여 상기 브로드캐스트 암호문 중 일부를 복호화하여 제2 부분 복호화 암호문을 생성하는 과정; 상기 제1 부분 복호화 암호문 및 제2 부분 복호화 암호문을 포함하는 부분 복호화 브로드캐스트 암호문을 생성하는 과정; 및 상기 부분 복호화 브로드캐스트 암호문을 상기 사용자단말로 전송하는 과정;을 포함하는 서버부가 브로드캐스트 암호문을 부분 복호화하는 단계를 포함할 수 있다. Receiving a broadcast cipher text from the message encryption unit; Applying a header included in the broadcast cipher text, an encrypted second random number, and a public key to a folded linear function to generate a first partial deciphered ciphertext by decrypting a part of the broadcast cipher text; Applying the header to a folded linear function to generate a second partially decrypted cipher text by decrypting a part of the broadcast cipher text; Generating a partial decryption broadcast cipher text including the first partial decryption cipher text and the second partial decryption cipher text; And transmitting the partially decrypted broadcast cipher text to the user terminal, the method comprising partially decoding the broadcast cipher text by the server.

보다 바람직하게는 상기 서버부로부터 부분 복호화 브로드캐스트 암호문을 수신하는 과정; 상기 부분 복호화 브로드캐스트 암호문 중 제1 부분 복호화 암호문과, 제2 부분 복호화 암호문 및 상기 비밀 변환키를 이용하여 대칭키를 연산하는 과정; 상기 부분 복호화 브로드캐스트 암호문 중 상기 제3 부분 복호화 암호문을 상기 대칭키로 복호화하여 제2 난수를 획득하는 과정; 상기 부분 복호화 브로드캐스트 암호문 중 제4 부분 복호화 암호문과, 상기 제2 난수를 해쉬연산한 값을 XOR 연산하여 평문 메시지를 획득하는 과정; 상기 제2 난수와 상기 평문 메시지를 해쉬연산하여 제3 난수를 획득하는 과정; 상기 비밀 변환키, 제3 난수 및 겹선형 함수를 연산하여 제1 부분 복호화 암호문 및 제2 부분 복호화 암호문을 연산하는 과정; 및 상기 연산결과에 기초하여 획득한 평문 메시지를 출력하는 과정;을 포함하는 사용자단말이 평문 메시지를 획득하는 단계를 포함할 수 있다.Receiving a partial decryption broadcast cipher text from the server unit; Calculating a symmetric key using the first partial decryption ciphertext, the second partial decryption ciphertext, and the secret conversion key among the partial decryption broadcast ciphertexts; Decrypting the third partial decryption cipher text with the symmetric key to obtain a second random number; Obtaining a plaintext message by XORing a fourth partial decryption cipher text of the partial decryption broadcast cipher text and a value obtained by performing a hash calculation on the second random number; Obtaining a third random number by performing a hash operation on the second random number and the plaintext message; Calculating a first partial decryption ciphertext and a second partial decryption ciphertext by computing the secret conversion key, the third random number, and the folded linear function; And outputting a plaintext message obtained based on the calculation result, wherein the user terminal obtains a plaintext message.

위와 같은 과제를 해결하기 위한 본 발명의 다른 실시 예에 따른 브로드캐스트 암호화 시스템은 공개키 및 복수 개의 사용자단말별 고유한 비밀키를 생성하고, 생성한 공개키를 메시지암호화부로 전송하며, 상기 비밀키를 상기 복수 개의 사용자단말로 각각 전송하는 키생성부; 상기 공개키 및 암호화하고자 하는 평문 메시지를 수신하고, 수신한 공개키에 기초하여 대칭키, 헤더 및 상기 평문 메시지에 대한 암호문을 생성하며, 상기 평문 메시지를 수신하고자 하는 사용자단말의 수, 상기 헤더 및 암호문을 포함하는 브로드캐스트 암호문을 생성하여 전송하는 메시지암호화부; 사용자단말로부터 생성된 공개 변환키를 수신하여 상기 브로드캐스트 암호문을 부분 복호화한 후 상기 사용자단말로 전송하는 서버부; 상기 비밀키에 기초하여 공개 변환키 및 비밀 변환키를 생성하고, 생성한 공개 변환키를 상기 서버부로 전송하며, 부분 복호화된 브로드캐스트 암호문을 상기 비밀 변환키를 이용하여 전체 복호화하여 평문메시지를 획득하는 사용자단말;을 포함한다.
According to another aspect of the present invention, there is provided a broadcast encryption system for generating a public key and a secret key unique to a plurality of user terminals, transmitting the generated public key to a message encryption unit, To each of the plurality of user terminals; The method comprising: receiving the public key and a plaintext message to be encrypted, generating a symmetric key, a header, and a ciphertext for the plaintext message based on the received public key, calculating a number of user terminals to receive the plaintext message, A message encryption unit for generating and transmitting a broadcast cipher text including a cipher text; A server unit receiving a public key generated from a user terminal, partially decrypting the broadcast cipher text, and transmitting the partial cipher text to the user terminal; Generates a public conversion key and a secret conversion key based on the secret key, transmits the generated publicity conversion key to the server unit, totally decrypts the partially decrypted broadcast cipher text using the secret conversion key, And a user terminal.

본 발명의 브로드캐스트 암호화 방법 및 시스템은 겹선형 그룹으로부터 난수를 선택하여 공개 변환키 및 비밀 변환키를 생성한 후, 이를 이용하여 암호화된 메시지를 적은 연산량을 통해 용이하게 복호화할 수 있고, 이에 따라 복호화 시간을 감소시킬 수 있는 효과가 있다.The broadcast encryption method and system according to the present invention can generate a public transit key and a secret transcend key by selecting a random number from a double-linear group, and can easily decrypt the encrypted message through a small amount of computation using it The decoding time can be reduced.

더불어, 본 발명의 브로드캐스트 암호화 방법 및 시스템은 사용자단말이 그 수에 비례하는 크기의 공개키를 저장할 필요가 없으므로, 데이터 저장량을 감소시킬 수 있는 효과가 있다.
In addition, the broadcast encryption method and system of the present invention have the effect of reducing the amount of data stored since the user terminal does not need to store a public key of a size proportional to the number.

도 1은 본 발명의 일 실시 예에 따른 브로드캐스트 암호화 시스템의 개략도이다.
도 2는 본 발명의 다른 실시 예에 따른 브로드캐스트 암호화 방법의 순서도이다.
도 3은 도 2의 키생성부가 공개키 및 비밀키를 생성하는 단계의 세부과정을 나타낸 순서도이다.
도 4는 도 2의 메시지암호화부가 대칭키, 헤더 및 암호문을 생성하는 단계의 세부 과정을 나타낸 순서도이다.
도 5는 도 2의 사용자단말이 공개 변환키 및 비밀 변환키를 생성하는 단계의 세부과정을 나타낸 순서도이다.
도 6은 도 2의 서버부가 브로드캐스트 암호문을 부분 복호화하는 단계의 세부과정을 나타낸 순서도이다.
도 7은 도 2의 사용자단말이 평문 메시지를 획득하는 단계의 세부과정을 나타낸 순서도이다.
1 is a schematic diagram of a broadcast encryption system in accordance with an embodiment of the present invention.
2 is a flowchart of a broadcast encryption method according to another embodiment of the present invention.
FIG. 3 is a flowchart illustrating a detailed process of generating a public key and a secret key according to the key generating unit of FIG. 2. Referring to FIG.
4 is a flowchart illustrating a detailed process of generating a symmetric key, a header, and a cipher text by the message encryption unit of FIG.
FIG. 5 is a flowchart illustrating a detailed process of generating the public key and the secret key in the user terminal of FIG.
FIG. 6 is a flowchart illustrating a detailed procedure of the partial decryption of the broadcast cipher text by the server unit of FIG. 2;
7 is a flowchart illustrating a detailed procedure of a step of acquiring a plain text message by the user terminal of FIG.

이하, 본 발명을 바람직한 실시 예와 첨부한 도면을 참고로 하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 여기에서 설명하는 실시 예에 한정되는 것은 아니다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT Hereinafter, the present invention will be described in detail with reference to preferred embodiments and accompanying drawings, which will be easily understood by those skilled in the art. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein.

도 1은 본 발명의 일 실시 예에 따른 브로드캐스트 암호화 시스템의 개략도이다.1 is a schematic diagram of a broadcast encryption system in accordance with an embodiment of the present invention.

도 1에 도시된 바와 같이, 본 발명의 브로드캐스트 암호화 시스템(100)은 키생성부(120), 메시지암호화부(140), 서버부(160) 및 사용자단말(180)을 포함한다. 1, the broadcast encryption system 100 of the present invention includes a key generation unit 120, a message encryption unit 140, a server unit 160, and a user terminal 180.

키생성부(120)는 공개키 및 복수 개의 사용자단말별 고유한 비밀키를 생성하고, 생성한 공개키를 메시지암호화부(140)로 전송하며, 상기 비밀키를 상기 복수 개의 사용자단말(180)로 각각 전송한다.The key generation unit 120 generates a public key and a secret key unique to a plurality of user terminals, transmits the generated public key to the message encryption unit 140, and transmits the secret key to the plurality of user terminals 180, Respectively.

메시지암호화부(140)는 상기 공개키 및 암호화하고자 하는 평문 메시지를 수신하고, 수신한 공개키에 기초하여 대칭키, 헤더 및 상기 평문 메시지에 대한 암호문을 생성하며, 상기 평문 메시지를 수신하고자 하는 사용자단말의 수, 상기 헤더 및 암호문을 포함하는 브로드캐스트 암호문을 생성하여 서버부(160)로 전송한다. The message encrypting unit 140 receives the public key and the plaintext message to be encrypted, generates a symmetric key, a header and a ciphertext for the plaintext message based on the received public key, Generates a broadcast cipher text including the number of terminals, the header and the cipher text, and transmits the generated cipher text to the server unit 160.

서버부(160)는 사용자단말(180)로부터 생성된 공개 변환키를 수신하여 브로드캐스트 암호문을 부분 복호화하고, 상기 부분 복호화 브로드캐스트 암호문을 사용자단말(180)로 전송한다.The server unit 160 receives the public key generated from the user terminal 180, partially decrypts the broadcast cipher text, and transmits the partial decrypted broadcast cipher text to the user terminal 180.

사용자단말(180)은 상기 비밀키에 기초하여 공개 변환키 및 비밀 변환키를 생성하고, 생성한 공개 변환키를 서버부(160)로 전송하며, 상기 서버부(160)로부터 수신한 부분 복호화된 브로드캐스트 암호문을 상기 비밀 변환키를 이용하여 전체 복호화하여 평문 메시지를 획득한다.The user terminal 180 generates a public conversion key and a secret conversion key based on the secret key, transmits the generated publicity conversion key to the server unit 160, And decrypts the broadcast cipher text using the secret conversion key to obtain a plaintext message.

이하, 도 2를 참조하여, 본 발명에 따른 브로드캐스트 암호화 방법에 대하여 자세히 살펴보도록 한다.Hereinafter, a broadcast encryption method according to the present invention will be described in detail with reference to FIG.

도 2는 본 발명의 다른 실시 예에 따른 브로드캐스트 암호화 방법의 순서도이다. 2 is a flowchart of a broadcast encryption method according to another embodiment of the present invention.

도 2에 도시된 바와 같이, 본 발명의 브로드캐스트 암호화 방법은 먼저, 키생성부(120)가 공개키 및 복수 개의 사용자단말별 고유한 비밀키를 생성한다(S210).As shown in FIG. 2, in the broadcast encryption method of the present invention, the key generation unit 120 generates a public key and a secret key unique to a plurality of user terminals (S210).

이후, 상기 키생성부(120)가 상기 공개키를 메시지암호화부(140)로 전송하고, 상기 복수 개의 사용자단말(180)로 상기 비밀키를 각각 전송한다(S220). The key generation unit 120 transmits the public key to the message encryption unit 140 and transmits the secret key to the plurality of user terminals 180 in step S220.

이어서, 상기 메시지암호화부(140)가 상기 공개키 및 암호화하고자 하는 평문 메시지를 수신하고, 수신한 공개키에 기초하여 대칭키, 헤더 및 상기 평문 메시지에 대한 암호문을 생성한다(S230). Then, the message encryption unit 140 receives the public key and the plaintext message to be encrypted, and generates a symmetric key, a header, and a cipher text for the plaintext message based on the received public key (S230).

이후, 상기 메시지암호화부(140)가 상기 평문 메시지를 수신하고자 하는 사용자단말의 수, 상기 헤더 및 암호문을 포함하는 브로드캐스트 암호문을 생성하여 생성한 브로드캐스트 암호문을 서버부(160)로 전송한다(S240). Thereafter, the message encryption unit 140 generates a broadcast cipher text including the number of user terminals desiring to receive the plaintext message, the header and the cipher text, and transmits the generated broadcast cipher text to the server unit 160 S240).

이어서, 사용자단말(180)이 수신한 비밀키에 기초하여 공개 변환키 및 비밀 변환키를 생성하고, 생성한 공개 변환키를 상기 서버부(160)로 전송한다(S250).Subsequently, the user terminal 180 generates a public conversion key and a secret conversion key based on the secret key received, and transmits the generated publicity conversion key to the server unit 160 (S250).

또한 상기 서버부(160)가 상기 사용자단말(180)로부터 수신한 상기 공개 변환키를 이용하여 상기 브로드캐스트 암호문을 부분 복호화하고, 부분 복호화 브로드캐스트 암호문을 상기 사용자단말(180)로 전송한다(S260).The server unit 160 partially decrypts the broadcast cipher text using the public key obtained from the user terminal 180 and transmits the decrypted broadcast cipher text to the user terminal 180 ).

이에 따라, 상기 사용자단말(180)이 상기 서버부(160)로부터 수신한 부분 복호화 브로드캐스트 암호문에 대하여 자신이 생성한 비밀 변환키를 이용하여 전체 복호화하여 평문 메시지를 획득한다(S270).In operation S270, the user terminal 180 decrypts the partially decrypted broadcast cipher text received from the server unit 160 using the secret conversion key generated by the user terminal 180, thereby obtaining a plain text message.

이하에서는 도 3 내지 도 7을 참조하여, 상술한 각 단계별 세부과정에 대하여 보다 자세히 설명하도록 한다. Hereinafter, with reference to FIG. 3 to FIG. 7, the detailed steps of each step will be described in detail.

먼저, 본 발명의 세부과정을 설명하기에 앞서, 전제되는 조건들에 대하여 간략히 설명하도록 한다.First, prior to describing the detailed process of the present invention, the premise conditions will be briefly described.

Figure 112014041440125-pat00001
은 소수
Figure 112014041440125-pat00002
를 위수로 갖는 겹선형 그룹(bilinear group)을 나타내는데, 이때
Figure 112014041440125-pat00003
는 상기 겹선형 그룹
Figure 112014041440125-pat00004
의 생성원(generator)이라 하고,
Figure 112014041440125-pat00005
을 겹선형 함수로 정의한다. 이러한, 상기 겹선형 함수란, 겹선형 그룹
Figure 112014041440125-pat00006
Figure 112014041440125-pat00007
에서 모두 이산대수문제(discrete logarithm problem)가 어렵다고 가정할 때, 겹선형성(bilinearity), 비소실성(non-degeneracy) 또는 계산가능성(computability)의 조건을 만족하는 함수를 나타낸다.
Figure 112014041440125-pat00001
Is a prime number
Figure 112014041440125-pat00002
And a bilinear group having the same number of bases,
Figure 112014041440125-pat00003
Lt; RTI ID = 0.0 >
Figure 112014041440125-pat00004
And a generator,
Figure 112014041440125-pat00005
Is defined as a folded linear function. Such a folded linear function means that the folded linear group
Figure 112014041440125-pat00006
Wow
Figure 112014041440125-pat00007
We denote functions satisfying the conditions of bilinearity, non-degeneracy, or computability, assuming that the discrete logarithm problem is difficult.

이때, 상기 겹선형성(bilinearity)이란, 겹선형 그룹에 속하는 임의의 두 원소인

Figure 112014041440125-pat00008
와,
Figure 112014041440125-pat00009
에 대하여
Figure 112014041440125-pat00010
가 되는 조건을 나타내며, 상기 비소실성(non-degeneracy)이란,
Figure 112014041440125-pat00011
을 만족하는
Figure 112014041440125-pat00012
가 존재하는 조건을 나타낸다. 또한, 상기 계산가능성(computability)이란, 겹선형 그룹에 속하는 임의의
Figure 112014041440125-pat00013
에 대해서
Figure 112014041440125-pat00014
를 효율적으로 계산할 수 있는 알고리즘이 존재하는 조건을 나타낸다. Here, the bilinearity refers to any two elements belonging to the double linear group
Figure 112014041440125-pat00008
Wow,
Figure 112014041440125-pat00009
about
Figure 112014041440125-pat00010
Quot; non-degeneracy &
Figure 112014041440125-pat00011
Satisfy
Figure 112014041440125-pat00012
Is present. Further, the computability means that an arbitrary value belonging to a double linear group
Figure 112014041440125-pat00013
about
Figure 112014041440125-pat00014
Which is an algorithm that can efficiently calculate.

도 3은 도 2의 키생성부가 공개키 및 비밀키를 생성하는 단계의 세부과정을 나타낸 순서도이다.FIG. 3 is a flowchart illustrating a detailed process of generating a public key and a secret key according to the key generating unit of FIG. 2. Referring to FIG.

도 3에 도시된 바와 같이, 키생성부(120)가 암호화된 메시지를 전송하고자 하는 총 사용자단말의 수

Figure 112014041440125-pat00015
를 입력받는다. 이후, 겹선형 그룹에 속하는 생성원 중 임의의 제1 생성원
Figure 112014041440125-pat00016
및 제2 생성원
Figure 112014041440125-pat00017
을 선택한다(S211). As shown in FIG. 3, when the key generation unit 120 receives the number of total user terminals to which the encrypted message is to be transmitted
Figure 112014041440125-pat00015
. Then, any one of the generation sources belonging to the double linear group
Figure 112014041440125-pat00016
And a second generation source
Figure 112014041440125-pat00017
(S211).

이후, 입력받은 상기 총 사용자단말의 수

Figure 112014041440125-pat00018
중 특정 사용자단말을 나타내는 사용자단말 고유정보
Figure 112014041440125-pat00019
를 설정하고, 이와 같이 설정된 사용자단말 고유정보
Figure 112014041440125-pat00020
와, 상기 제1 생성원
Figure 112014041440125-pat00021
및 제2 생성원
Figure 112014041440125-pat00022
에 기초하여 특정 사용자단말에 대한
Figure 112014041440125-pat00023
를 연산한다. Thereafter, the number of the input total user terminals
Figure 112014041440125-pat00018
User terminal unique information indicating a specific user terminal
Figure 112014041440125-pat00019
And sets the user terminal unique information
Figure 112014041440125-pat00020
And a control unit
Figure 112014041440125-pat00021
And a second generation source
Figure 112014041440125-pat00022
Lt; RTI ID = 0.0 >
Figure 112014041440125-pat00023
.

이어서, 상기 겹선형 그룹에 속하는 임의의 제1 난수

Figure 112014041440125-pat00024
를 선택하고(S212), 선택한 상기 제1 난수
Figure 112014041440125-pat00025
와 상기 제1 생성원
Figure 112014041440125-pat00026
에 기초하여 제1 변수
Figure 112014041440125-pat00027
를 설정한 후, 두 개의 해쉬함수
Figure 112014041440125-pat00028
를 임의로 설정한다. Subsequently, an arbitrary first random number belonging to the double linear group
Figure 112014041440125-pat00024
(S212), and selects the first random number
Figure 112014041440125-pat00025
And the first generation source
Figure 112014041440125-pat00026
Based on the first variable
Figure 112014041440125-pat00027
, Then the two hash functions
Figure 112014041440125-pat00028
.

이에 따라, 상기 제1 생성원

Figure 112014041440125-pat00029
, 제1 변수
Figure 112014041440125-pat00030
및 두 개의 해쉬함수
Figure 112014041440125-pat00031
,
Figure 112014041440125-pat00032
를 공개키 알고리즘에 적용하여 공개키
Figure 112014041440125-pat00033
Figure 112014041440125-pat00034
를 생성한다(S213).Accordingly,
Figure 112014041440125-pat00029
, The first variable
Figure 112014041440125-pat00030
And two hash functions
Figure 112014041440125-pat00031
,
Figure 112014041440125-pat00032
To the public key algorithm,
Figure 112014041440125-pat00033
Figure 112014041440125-pat00034
(S213).

이후, 특정 사용자단말 각각

Figure 112014041440125-pat00035
에 대하여 상기 제1 생성원
Figure 112014041440125-pat00036
및 제1 난수
Figure 112014041440125-pat00037
에 기초하여 각각의 사용자단말별 고유한 비밀키
Figure 112014041440125-pat00038
를 생성한다(S214).Thereafter, each of the specific user terminals
Figure 112014041440125-pat00035
The first generation source
Figure 112014041440125-pat00036
And a first random number
Figure 112014041440125-pat00037
A secret key unique to each user terminal
Figure 112014041440125-pat00038
(S214).

상기 키생성부(120)가 앞서 생성한 공개키

Figure 112014041440125-pat00039
를 메시지암호화부(140)로 전송하고, 상기 복수 개의 사용자단말(180)로 상기 비밀키
Figure 112014041440125-pat00040
를 각각 전송한다. If the key generation unit 120 generates the public key
Figure 112014041440125-pat00039
To the message encryption unit (140), and transmits the secret key
Figure 112014041440125-pat00040
Respectively.

이에 따라, 상기 메시지암호화부(140)가 상기 공개키 및 암호화하고자 하는 평문 메시지를 수신하고, 수신한 공개키에 기초하여 대칭키, 헤더 및 상기 평문 메시지에 대한 암호문을 생성한다. Accordingly, the message encryption unit 140 receives the public key and the plain text message to be encrypted, and generates a symmetric key, a header, and a ciphertext for the plain text message based on the received public key.

도 4는 도 2의 메시지암호화부가 대칭키, 헤더 및 암호문을 생성하는 단계의 세부 과정을 나타낸 순서도이다.4 is a flowchart illustrating a detailed process of generating a symmetric key, a header, and a cipher text by the message encryption unit of FIG.

도 4에 도시된 바와 같이, 메시지암호화부(140)가 평문 메시지를 수신하고자 하는 사용자단말의 수

Figure 112014041440125-pat00041
, 상기 공개키
Figure 112014041440125-pat00042
및 암호화하고자 하는 평문 메시지
Figure 112014041440125-pat00043
를 입력받는다(S231).As shown in FIG. 4, when the message encryption unit 140 receives the number of user terminals to receive the plaintext message
Figure 112014041440125-pat00041
, The public key
Figure 112014041440125-pat00042
And a plaintext message to be encrypted
Figure 112014041440125-pat00043
(S231).

겹선형 그룹

Figure 112014041440125-pat00044
에 속하는 임의의 제2 난수
Figure 112014041440125-pat00045
를 선택한다(S232). Fold linear group
Figure 112014041440125-pat00044
Lt; RTI ID = 0.0 >
Figure 112014041440125-pat00045
(S232).

이후, 앞서 선택한 상기 제2 난수

Figure 112014041440125-pat00046
와 평문 메시지
Figure 112014041440125-pat00047
를 해쉬연산
Figure 112014041440125-pat00048
하여 제3 난수
Figure 112014041440125-pat00049
를 생성한다(S233).Thereafter, the second random number
Figure 112014041440125-pat00046
And plaintext messages
Figure 112014041440125-pat00047
Hash operation
Figure 112014041440125-pat00048
The third random number
Figure 112014041440125-pat00049
(S233).

또한 상기 제2 난수

Figure 112014041440125-pat00050
를 해쉬연산
Figure 112014041440125-pat00051
하여 제4 난수
Figure 112014041440125-pat00052
를 생성한다(S234).The second random number
Figure 112014041440125-pat00050
Hash operation
Figure 112014041440125-pat00051
The fourth random number
Figure 112014041440125-pat00052
(S234).

상기 제3 난수

Figure 112014041440125-pat00053
에 기초하여 대칭키
Figure 112014041440125-pat00054
및 헤더
Figure 112014041440125-pat00055
를 생성한다(S235). The third random number
Figure 112014041440125-pat00053
The symmetric key < RTI ID =
Figure 112014041440125-pat00054
And header
Figure 112014041440125-pat00055
(S235).

즉, 먼저 상기 제3 난수

Figure 112014041440125-pat00056
에 기초하여 대칭키
Figure 112014041440125-pat00057
Figure 112014041440125-pat00058
=
Figure 112014041440125-pat00059
와 같이 연산되고, 이때, 상기 대칭키
Figure 112014041440125-pat00060
는 메시지를 암호화 및 복호화하는데 사용되는 것을 나타내며, 상기 g는 공개키를 나타낸다. 또한, 헤더
Figure 112014041440125-pat00061
Figure 112014041440125-pat00062
와 같이 연산된다.That is, first, the third random number
Figure 112014041440125-pat00056
The symmetric key < RTI ID =
Figure 112014041440125-pat00057
The
Figure 112014041440125-pat00058
=
Figure 112014041440125-pat00059
And the symmetric key < RTI ID = 0.0 >
Figure 112014041440125-pat00060
Represents a public key used for encrypting and decrypting a message, and g represents a public key. In addition,
Figure 112014041440125-pat00061
The
Figure 112014041440125-pat00062
.

이후, 상기 대칭키

Figure 112014041440125-pat00063
를 이용하여 상기 제2 난수
Figure 112014041440125-pat00064
를 암호화
Figure 112014041440125-pat00065
한다(S236). Then,
Figure 112014041440125-pat00063
The second random number < RTI ID = 0.0 >
Figure 112014041440125-pat00064
Encrypt
Figure 112014041440125-pat00065
(S236).

이와 같이, 앞서 암호화된 제2 난수

Figure 112014041440125-pat00066
와, 평문 메시지
Figure 112014041440125-pat00067
와 제4 난수
Figure 112014041440125-pat00068
간 XOR 연산을 수행한 값을 포함하여 상기 평문 메시지
Figure 112014041440125-pat00069
에 대한 암호문
Figure 112014041440125-pat00070
을 생성한다(S237). Thus, the encrypted second random number
Figure 112014041440125-pat00066
And a plaintext message
Figure 112014041440125-pat00067
And the fourth random number
Figure 112014041440125-pat00068
A value obtained by performing an inter-XOR operation on the plaintext message
Figure 112014041440125-pat00069
Ciphertext for
Figure 112014041440125-pat00070
(S237).

이에 따라, 상기 메시지암호화부(140)가 상기 평문 메시지를 수신하고자 하는 사용자단말의 수

Figure 112014041440125-pat00071
, 상기 헤더
Figure 112014041440125-pat00072
및 암호문
Figure 112014041440125-pat00073
을 포함하는 브로드캐스트 암호문
Figure 112014041440125-pat00074
을 생성하여 서버부(160)로 전송한다. Accordingly, when the message encryption unit 140 receives the number of user terminals to receive the plaintext message
Figure 112014041440125-pat00071
, The header
Figure 112014041440125-pat00072
And ciphertext
Figure 112014041440125-pat00073
≪ / RTI >
Figure 112014041440125-pat00074
And transmits it to the server unit 160.

이후, 상기 사용자단말이 수신한 비밀키에 기초하여 공개 변환키 및 비밀 변환키를 생성한다. Then, based on the secret key received by the user terminal, the open conversion key and secret conversion key are generated.

도 5는 도 2의 사용자단말이 공개 변환키 및 비밀 변환키를 생성하는 단계의 세부과정을 나타낸 순서도이다.FIG. 5 is a flowchart illustrating a detailed process of generating the public key and the secret key in the user terminal of FIG.

도 5에 도시된 바와 같이, 복수 개의 사용자단말 중 특정 사용자단말이 자신을 나타내는 사용자단말 고유정보

Figure 112014041440125-pat00075
와, 상기 특정 사용자단말의 고유한 비밀키
Figure 112014041440125-pat00076
를 입력받는다(S251).As shown in FIG. 5, among a plurality of user terminals,
Figure 112014041440125-pat00075
A secret key unique to the specific user terminal
Figure 112014041440125-pat00076
(S251).

이후, 겹선형 그룹

Figure 112014041440125-pat00077
에 속하는 임의의 제5 난수
Figure 112014041440125-pat00078
를 선택하고, 선택한 제5 난수
Figure 112014041440125-pat00079
를 비밀 변환키
Figure 112014041440125-pat00080
로 설정한다(S252). 이때, 설정된 상기 비밀 변환키
Figure 112014041440125-pat00081
는 사용자단말이 외부로 노출되지 않도록 비밀로 유지하는 값을 나타낸다.Thereafter,
Figure 112014041440125-pat00077
Lt; RTI ID = 0.0 >
Figure 112014041440125-pat00078
And selects the fifth random number
Figure 112014041440125-pat00079
A secret conversion key
Figure 112014041440125-pat00080
(S252). At this time,
Figure 112014041440125-pat00081
Represents a value that keeps the user terminal secret so that the user terminal is not exposed to the outside.

또한, 상기 비밀키

Figure 112014041440125-pat00082
및 제5 난수
Figure 112014041440125-pat00083
에 기초하여
Figure 112014041440125-pat00084
와 같이 연산하여 공개 변환키
Figure 112014041440125-pat00085
를 생성한다(S253). 이때, 생성된 상기 공개 변환키
Figure 112014041440125-pat00086
는 서버부(160)와 사용자단말(180)간에 사용하는 공개키를 나타낸다.Also,
Figure 112014041440125-pat00082
And the fifth random number
Figure 112014041440125-pat00083
On the basis of
Figure 112014041440125-pat00084
And outputs the open conversion key
Figure 112014041440125-pat00085
(S253). At this time,
Figure 112014041440125-pat00086
Represents a public key used between the server unit 160 and the user terminal 180. [

이후, 상기 사용자단말(180)이 생성한 상기 공개 변환키

Figure 112014041440125-pat00087
를 서버부(160)로 전송한다(S254).Thereafter, the user terminal 180 generates the public-
Figure 112014041440125-pat00087
To the server unit 160 (S254).

이에 따라, 서버부(160)가 상기 공개 변환키를 이용하여 수신한 상기 브로드캐스트 암호문을 부분 복호화한다. Accordingly, the server unit 160 partially decrypts the broadcast cipher text received using the public key.

도 6은 도 2의 서버부가 브로드캐스트 암호문을 부분 복호화하는 단계의 세부과정을 나타낸 순서도이다.FIG. 6 is a flowchart illustrating a detailed procedure of the partial decryption of the broadcast cipher text by the server unit of FIG. 2;

도 6에 도시된 바와 같이, 복수 개의 사용자단말 중 특정 사용자단말을 나타내는 사용자단말 고유정보

Figure 112014041440125-pat00088
를 통해 선택된 평문 메시지를 획득하고자 하는 사용자단말(180)이 공개 변환키
Figure 112014041440125-pat00089
, 암호문을 수신하고자 하는 사용자단말이
Figure 112014041440125-pat00090
에 해당하는 브로드 캐스트 암호문
Figure 112014041440125-pat00091
, 공개키
Figure 112014041440125-pat00092
를 입력받는다(S261). As shown in FIG. 6, among the plurality of user terminals, user terminal unique information
Figure 112014041440125-pat00088
The user terminal 180, which wishes to acquire the selected plaintext message through the Public Transformation Key
Figure 112014041440125-pat00089
, A user terminal desiring to receive the ciphertext
Figure 112014041440125-pat00090
Broadcast cipher text corresponding to
Figure 112014041440125-pat00091
, Public key
Figure 112014041440125-pat00092
(S261).

이때, 상기 사용자단말 고유정보

Figure 112014041440125-pat00093
가 상기 암호문을 수신하고자 하는 사용자단말의 수를 나타내는 집합
Figure 112014041440125-pat00094
에 속하지 않은 경우에는 잘못된 요청을 하는 것이므로 에러 메시지를 출력한다.At this time,
Figure 112014041440125-pat00093
Is a set representing the number of user terminals desiring to receive the cipher text
Figure 112014041440125-pat00094
, It outputs an error message because it makes a wrong request.

또는 이와 달리, 상기 사용자단말 고유정보

Figure 112014041440125-pat00095
가 상기 암호문을 수신하고자 하는 사용자단말의 수를 나타내는 집합
Figure 112014041440125-pat00096
에 속하는 경우에는 브로드 캐스트 암호문이
Figure 112014041440125-pat00097
인 경우 즉, 상기 브로드캐스트 암호문
Figure 112014041440125-pat00098
내 포함된 헤더
Figure 112014041440125-pat00099
, 암호화된 제2 난수
Figure 112014041440125-pat00100
및 공개 변환키
Figure 112014041440125-pat00101
를 하기의 수학식 1에 적용하여 상기 브로드캐스트 암호문
Figure 112014041440125-pat00102
중 일부를 복호화함으로써, 제1 부분 복호화 암호문
Figure 112014041440125-pat00103
을 생성한다(S262).Alternatively, the user terminal unique information
Figure 112014041440125-pat00095
Is a set representing the number of user terminals desiring to receive the cipher text
Figure 112014041440125-pat00096
Quot ;, the broadcast cipher text is "
Figure 112014041440125-pat00097
That is, the broadcast cipher text
Figure 112014041440125-pat00098
My included header
Figure 112014041440125-pat00099
, An encrypted second random number
Figure 112014041440125-pat00100
And public conversion key
Figure 112014041440125-pat00101
To the following equation (1) to calculate the broadcast cipher text
Figure 112014041440125-pat00102
The first partial decryption ciphertext
Figure 112014041440125-pat00103
(S262).

[수학식 1][Equation 1]

Figure 112014041440125-pat00104
Figure 112014041440125-pat00104

이어서, 상기 제1 생성원

Figure 112014041440125-pat00105
및 상기 브로드캐스트 암호문
Figure 112014041440125-pat00106
내 포함된 상기 헤더
Figure 112014041440125-pat00107
Figure 112014041440125-pat00108
를 하기의 수학식 2와 같이 겹선형 함수
Figure 112014041440125-pat00109
에 적용하여 상기 브로드캐스트 암호문 중 일부를 복호화함으로써, 제2 부분 복호화 암호문
Figure 112014041440125-pat00110
을 생성한다(S263). Then,
Figure 112014041440125-pat00105
And the broadcast cipher text
Figure 112014041440125-pat00106
The header
Figure 112014041440125-pat00107
sign
Figure 112014041440125-pat00108
Is expressed by the following expression (2)
Figure 112014041440125-pat00109
To decrypt a part of the broadcast cipher text, thereby generating a second partial decryption cipher text
Figure 112014041440125-pat00110
(S263).

[수학식 2]&Quot; (2) "

Figure 112014041440125-pat00111
Figure 112014041440125-pat00111

이와 같이 생성된 상기 제1 부분 복호화 암호문

Figure 112014041440125-pat00112
및 제2 부분 복호화 암호문
Figure 112014041440125-pat00113
을 포함하는 부분 복호화 브로드캐스트 암호문
Figure 112014041440125-pat00114
을 생성한다(S264). 이때, 생성된 부분 복호화 브로드캐스트 암호문
Figure 112014041440125-pat00115
은 엘가말 형태로 생성될 수 있다.The generated first partial decryption ciphertext
Figure 112014041440125-pat00112
And the second partial decryption ciphertext
Figure 112014041440125-pat00113
A partial decryption broadcast cipher text
Figure 112014041440125-pat00114
(S264). At this time, the generated partial decryption broadcast cipher text
Figure 112014041440125-pat00115
Can be generated in the form of an elongated horse.

이후, 상기 서버부가 생성한 부분 복호화 브로드캐스트 암호문을 사용자단말로 전송한다(S265).Thereafter, the partial decryption broadcast cipher text generated by the server is transmitted to the user terminal (S265).

이후, 평문 메시지를 수신하고자 하는 사용자단말이 상기 비밀 변환키를 이용하여 상기 부분 복호화된 브로드캐스트 암호문을 전체 복호화하여 평문 메시지를 획득한다.Thereafter, a user terminal that wishes to receive a plaintext message decrypts the partially decrypted broadcast cipher text using the secret conversion key to obtain a plaintext message.

도 7은 도 2의 사용자단말이 평문 메시지를 획득하는 단계의 세부과정을 나타낸 순서도이다.7 is a flowchart illustrating a detailed procedure of a step of acquiring a plain text message by the user terminal of FIG.

도 7에 도시된 바와 같이, 사용자단말(180)이 먼저 서버부(160)로부터 부분 복호화 브로드캐스트 암호문을 수신한다(S271). As shown in FIG. 7, the user terminal 180 first receives the partial decryption broadcast cipher text from the server unit 160 (S271).

이어서, 상기 부분 복호화 브로드캐스트 암호문

Figure 112014041440125-pat00116
이 부분 복호화 되어있는지 여부를 판단한다. Subsequently, the partial decryption broadcast cipher text
Figure 112014041440125-pat00116
It is determined whether or not the partial decoding is performed.

만약, 상기 부분 복호화 브로드캐스트 암호문

Figure 112014041440125-pat00117
이 부분적으로 복호화되어 있지 않았다면 변환 알고리즘을 수행한다. 이러한 변환 알고리즘은 앞서 수학식 1 내지 2를 통해 설명한 내용과 동일하므로, 자세한 설명은 생략하도록 한다. If the partial decryption broadcast cipher text
Figure 112014041440125-pat00117
If it is not partially decoded, it performs the transformation algorithm. Since the conversion algorithm is the same as that described above with reference to Equations 1 and 2, detailed description will be omitted.

이후, 사용자단말(180)이 상기 부분 복호화 브로드캐스트 암호문

Figure 112014041440125-pat00118
중 제1 부분 복호화 암호문
Figure 112014041440125-pat00119
과, 제2 부분 복호화 암호문
Figure 112014041440125-pat00120
및 상기 비밀 변환키
Figure 112014041440125-pat00121
를 하기의 수학식 3에 적용하여 대칭키
Figure 112014041440125-pat00122
를 연산한다(S272).Thereafter, when the user terminal 180 receives the partial decryption broadcast cipher text
Figure 112014041440125-pat00118
The first partial decryption ciphertext
Figure 112014041440125-pat00119
And a second partial decryption ciphertext
Figure 112014041440125-pat00120
And the secret conversion key
Figure 112014041440125-pat00121
Is applied to the following equation (3)
Figure 112014041440125-pat00122
(S272).

[수학식 3]&Quot; (3) "

Figure 112014041440125-pat00123
Figure 112014041440125-pat00123

상기 부분 복호화 브로드캐스트 암호문

Figure 112014041440125-pat00124
중 상기 제3 부분 복호화 암호문
Figure 112014041440125-pat00125
을 상기 대칭키
Figure 112014041440125-pat00126
로 복호화하여 제2 난수
Figure 112014041440125-pat00127
를 획득한다(S273).The partial decryption broadcast cipher text
Figure 112014041440125-pat00124
The third partial decryption ciphertext
Figure 112014041440125-pat00125
To the symmetric key
Figure 112014041440125-pat00126
And outputs the second random number
Figure 112014041440125-pat00127
(S273).

상기 부분 복호화 브로드캐스트 암호문

Figure 112014041440125-pat00128
중 제4 부분 복호화 암호문
Figure 112014041440125-pat00129
과, 상기 제2 난수
Figure 112014041440125-pat00130
를 해쉬연산한 값
Figure 112014041440125-pat00131
을 XOR 연산하여 평문 메시지
Figure 112014041440125-pat00132
를 획득한다(S274).The partial decryption broadcast cipher text
Figure 112014041440125-pat00128
4th partial decryption ciphertext
Figure 112014041440125-pat00129
And the second random number
Figure 112014041440125-pat00130
A value obtained by performing a hash operation
Figure 112014041440125-pat00131
Lt; RTI ID = 0.0 > XOR &
Figure 112014041440125-pat00132
(S274).

상기 제2 난수

Figure 112014041440125-pat00133
와 상기 평문 메시지
Figure 112014041440125-pat00134
를 해쉬연산
Figure 112014041440125-pat00135
하여 제3 난수
Figure 112014041440125-pat00136
를 획득한다(S275).The second random number
Figure 112014041440125-pat00133
And the plaintext message
Figure 112014041440125-pat00134
Hash operation
Figure 112014041440125-pat00135
The third random number
Figure 112014041440125-pat00136
(S275).

상기 비밀 변환키

Figure 112014041440125-pat00137
, 제3 난수
Figure 112014041440125-pat00138
를 하기의 수학식 4에 적용하여 겹선형 함수를 연산함으로써, 제1 부분 복호화 암호문
Figure 112014041440125-pat00139
을 생성한다.The secret conversion key
Figure 112014041440125-pat00137
, The third random number
Figure 112014041440125-pat00138
Is applied to the following equation (4) to calculate a folded linear function, whereby the first partial decryption ciphertext
Figure 112014041440125-pat00139
.

[수학식 4]&Quot; (4) "

Figure 112014041440125-pat00140
Figure 112014041440125-pat00140

또한, 제1 생성원

Figure 112014041440125-pat00141
및 상기 제3 난수
Figure 112014041440125-pat00142
를 하기의 수학식 5에 적용하여 겹선형 함수를 연산함으로써, 제2 부분 복호화 암호문
Figure 112014041440125-pat00143
을 연산한다(S276). Also,
Figure 112014041440125-pat00141
And the third random number
Figure 112014041440125-pat00142
Is applied to the following equation (5) to calculate a folded linear function, whereby the second partial decryption ciphertext
Figure 112014041440125-pat00143
(S276).

[수학식 5]&Quot; (5) "

Figure 112014041440125-pat00144
Figure 112014041440125-pat00144

상술한 수학식 4 및 5의 연산결과를 만족한 경우에, 앞서 과정 S273에서 획득한 평문 메시지

Figure 112014041440125-pat00145
를 출력한다(S277).If the computation results of Equations (4) and (5) are satisfied, the plaintext message
Figure 112014041440125-pat00145
(S277).

이처럼, 겹선형 그룹에서 선택한 난수를 마스킹값으로 이용하여 공개 변환키 및 비밀 변환키를 생성하고, 종래의 비밀키를 이용한 연산을 공개 변환키를 이용하여 연산함으로써, 서버부가 복호화 시 요구되는 다른 사용자단말의 공개키가 필요한 연산 및 페어링 연산 등을 대신할 수 있다. As described above, by generating the open conversion key and the secret conversion key using the random number selected in the grouped linear group as the masking value and calculating the operation using the conventional secret key by using the public conversion key, The public key of the terminal can be substituted for the necessary operation and the pairing operation.

메시지암호화부가 위임 연산을 수행하는 동안 메시지 또는 비밀키에 대한 어떠한 정보도 획득하지 못하며, 사용자단말은 부분 복호화된 브로드캐스트 암호문을 이용하여 비교적 간단한 연산만을 이용하여 평문 메시지를 획득할 수 있어, 연산량 및 저장량 측면에 있어서, 효율적인 복호화가 가능하다. The message encryption can not acquire any information about the message or secret key while performing the delegation operation and the user terminal can acquire the plaintext message using only a relatively simple operation using the partial decrypted broadcast cipher text, In terms of storage amount, efficient decoding is possible.

또한, 이러한 브로드캐스트 암호화 방법 및 시스템은 컴퓨터로 실행하기 위한 프로그램이 기록된 컴퓨터 판독가능 기록매체에 저장될 수 있다. 이때, 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는 ROM, RAM, CD-ROM, DVD±ROM, DVD-RAM, 자기 테이프, 플로피 디스크, 하드 디스크(hard disk), 광데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 장치에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.Further, such a broadcast encryption method and system may be stored in a computer-readable recording medium on which a program for executing by a computer is recorded. At this time, the computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of the computer readable recording medium include ROM, RAM, CD-ROM, DVD 占 ROM, DVD-RAM, magnetic tape, floppy disk, hard disk, optical data storage, and the like. In addition, the computer-readable recording medium may be distributed to network-connected computer devices so that computer-readable codes can be stored and executed in a distributed manner.

본 발명의 브로드캐스트 암호화 방법 및 시스템은 겹선형 그룹으로부터 난수를 선택하여 공개 변환키 및 비밀 변환키를 생성한 후, 이를 이용하여 암호화된 메시지를 적은 연산량을 통해 용이하게 복호화할 수 있고, 이에 따라 복호화 시간을 감소시킬 수 있는 효과가 있다.The broadcast encryption method and system according to the present invention can generate a public transit key and a secret transcend key by selecting a random number from a double-linear group, and can easily decrypt the encrypted message through a small amount of computation using it The decoding time can be reduced.

더불어, 본 발명의 브로드캐스트 암호화 방법 및 시스템은 사용자단말이 그 수에 비례하는 크기의 공개키를 저장할 필요가 없으므로, 데이터 저장량을 감소시킬 수 있는 효과가 있다.In addition, the broadcast encryption method and system of the present invention have the effect of reducing the amount of data stored since the user terminal does not need to store a public key of a size proportional to the number.

상기에서는 본 발명의 바람직한 실시 예에 대하여 설명하였지만, 본 발명은 이에 한정되는 것이 아니고 본 발명의 기술 사상 범위 내에서 여러 가지로 변형하여 실시하는 것이 가능하고 이 또한 첨부된 특허청구범위에 속하는 것은 당연하다.
While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, Do.

120: 키생성부 140: 메시지암호화부
160: 서버 180: 사용자단말
120: Key generation unit 140: Message encryption unit
160: server 180: user terminal

Claims (8)

키생성부가 공개키 및 복수 개의 사용자단말별 고유한 비밀키를 생성하는 단계;
상기 키생성부가 상기 공개키를 메시지암호화부로 전송하고, 상기 복수 개의 사용자단말로 상기 비밀키를 각각 전송하는 단계;
상기 메시지암호화부가 상기 공개키 및 암호화하고자 하는 평문 메시지를 수신하고, 수신한 공개키에 기초하여 대칭키, 헤더 및 상기 평문 메시지에 대한 암호문을 생성하는 단계;
상기 메시지암호화부가 상기 평문 메시지를 수신하고자 하는 사용자단말의 수, 상기 헤더 및 암호문을 포함하는 브로드캐스트 암호문을 생성하여 서버부로 전송하는 단계;
상기 사용자단말이 수신한 비밀키에 기초하여 공개 변환키 및 비밀 변환키를 생성하고, 생성한 공개 변환키를 상기 서버부로 전송하는 단계;
상기 서버부가 수신한 공개 변환키를 이용하여 상기 브로드캐스트 암호문을 부분 복호화하고, 부분 복호화된 브로드캐스트 암호문을 상기 사용자단말로 전송하는 단계; 및
상기 사용자단말이 수신한 부분 복호화된 브로드캐스트 암호문에 대하여 상기 비밀 변환키를 이용하여 전체 복호화하여 평문 메시지를 획득하는 단계;
를 포함하는 브로드캐스트 암호화 방법.
Generating a public key and a secret key unique to a plurality of user terminals;
Transmitting the public key to the message encryption unit and transmitting the secret key to the plurality of user terminals, respectively;
The message encryption unit receiving the public key and the plain text message to be encrypted, and generating a symmetric key, a header, and a ciphertext for the plain text message based on the received public key;
Generating a broadcast cipher text including the number of user terminals desiring to receive the plaintext message, the header and the cipher text, and transmitting the broadcast cipher text to the server unit;
Generating a public conversion key and a secret conversion key based on the secret key received by the user terminal, and transmitting the generated publicity conversion key to the server unit;
Partially decrypting the broadcast cipher text using the public key received by the server, and transmitting the partially decrypted broadcast cipher text to the user terminal; And
Decrypting the partial decrypted broadcast cipher text received by the user terminal using the secret conversion key to obtain a plaintext message;
/ RTI >
제1항에 있어서,
상기 키생성부가 공개키 및 비밀키를 생성하는 단계는
겹선형 그룹에 속하는 생성원 중 임의의 제1 생성원 및 제2 생성원을 선택하는 과정;
상기 겹선형 그룹에 속하는 임의의 제1 난수를 선택하는 과정;
상기 제1 생성원을 공개키 알고리즘에 적용하여 공개키를 생성하는 과정; 및
상기 제1 생성원 및 제1 난수에 기초하여 각각의 사용자단말별 고유한 비밀키를 생성하는 과정;
을 포함하는 것을 특징으로 하는 브로드캐스트 암호화 방법.
The method according to claim 1,
The step of generating the public key and the secret key by the key generating unit
Selecting any of the first generation source and the second generation source among the generation sources belonging to the double linear group;
Selecting an arbitrary first random number belonging to the double linear group;
Generating a public key by applying the first source to a public key algorithm; And
Generating a secret key unique to each user terminal based on the first source and the first random number;
The method comprising the steps of:
제1항에 있어서,
상기 메시지암호화부가 대칭키, 헤더 및 암호문을 생성하는 단계는
평문 메시지를 획득하고자 하는 사용자단말의 수, 상기 공개키 및 암호화하고자 하는 평문 메시지를 입력받는 과정;
겹선형 그룹에 속하는 임의의 제2 난수를 선택하는 과정;
상기 제2 난수와 평문 메시지를 해쉬연산하여 제3 난수를 생성하는 과정;
상기 제2 난수를 해쉬연산하여 제4 난수를 생성하는 과정;
상기 제3 난수에 기초하여 대칭키 및 헤더를 생성하는 과정;
상기 대칭키를 이용하여 상기 제2 난수를 암호화하는 과정; 및
상기 암호화된 제2 난수, 평문 메시지 및 제4 난수에 기초하여 상기 평문 메시지에 대한 암호문을 생성하는 과정;
을 포함하는 것을 특징으로 하는 브로드캐스트 암호화 방법.
The method according to claim 1,
The step of generating the symmetric key, the header and the cipher text by the message encryption unit
Receiving a plain-text message to be encrypted, a number of user terminals to acquire a plaintext message, the public key, and a plaintext message to be encrypted;
Selecting an arbitrary second random number belonging to a double linear group;
Generating a third random number by performing a hash operation on the second random number and the plaintext message;
Generating a fourth random number by performing a hash operation on the second random number;
Generating a symmetric key and a header based on the third random number;
Encrypting the second random number using the symmetric key; And
Generating a ciphertext for the plaintext message based on the encrypted second random number, plaintext message, and fourth random number;
The method comprising the steps of:
제1항에 있어서,
상기 사용자단말이 공개 변환키 및 비밀 변환키를 생성하고, 생성한 공개 변환키를 서버부로 전송하는 단계는
복수 개의 사용자단말 중 특정 사용자단말이 자신을 나타내는 사용자단말 고유정보와, 상기 특정 사용자단말의 고유한 비밀키를 입력받는 과정;
겹선형 그룹에 속하는 임의의 제5 난수를 선택하고, 선택한 제5 난수를 비밀 변환키로 설정하는 과정;
상기 비밀키 및 제5 난수에 기초하여 공개 변환키를 생성하는 과정; 및
상기 공개 변환키를 상기 서버부로 전송하는 과정;
을 포함하는 것을 특징으로 하는 브로드캐스트 암호화 방법.
The method according to claim 1,
The step of the user terminal generating the public conversion key and the secret conversion key and transmitting the generated publicity conversion key to the server unit
Receiving user terminal unique information indicating a specific user terminal among a plurality of user terminals and a private key unique to the specific user terminal;
Selecting an arbitrary fifth random number belonging to the overlapped linear group and setting the selected fifth random number as a secret conversion key;
Generating a public key based on the secret key and the fifth random number; And
Transmitting the open conversion key to the server unit;
The method comprising the steps of:
제1항에 있어서,
상기 서버부가 브로드캐스트 암호문을 부분 복호화하는 단계는
상기 메시지암호화부로부터 브로드캐스트 암호문을 수신하는 과정;
상기 브로드캐스트 암호문 내 포함된 헤더, 암호화된 제2 난수 및 공개 변환키를 겹선형 함수에 적용하여 상기 브로드캐스트 암호문 중 일부를 복호화하여 제1 부분 복호화 암호문을 생성하는 과정;
상기 헤더를 겹선형 함수에 적용하여 상기 브로드캐스트 암호문 중 일부를 복호화하여 제2 부분 복호화 암호문을 생성하는 과정;
상기 제1 부분 복호화 암호문 및 제2 부분 복호화 암호문을 포함하는 부분 복호화 브로드캐스트 암호문을 생성하는 과정; 및
상기 부분 복호화 브로드캐스트 암호문을 상기 사용자단말로 전송하는 과정;
을 포함하는 것을 특징으로 하는 브로드캐스트 암호화 방법.
The method according to claim 1,
The step of partially decrypting the server-added broadcast cipher text
Receiving a broadcast cipher text from the message encryption unit;
Applying a header included in the broadcast cipher text, an encrypted second random number, and a public key to a folded linear function to generate a first partial deciphered ciphertext by decrypting a part of the broadcast cipher text;
Applying the header to a folded linear function to generate a second partially decrypted cipher text by decrypting a part of the broadcast cipher text;
Generating a partial decryption broadcast cipher text including the first partial decryption cipher text and the second partial decryption cipher text; And
Transmitting the partial decryption broadcast cipher text to the user terminal;
The method comprising the steps of:
제5항에 있어서,
상기 사용자단말이 평문 메시지를 획득하는 단계는
상기 서버부로부터 부분 복호화 브로드캐스트 암호문을 수신하는 과정;
상기 부분 복호화 브로드캐스트 암호문 중 제1 부분 복호화 암호문과, 제2 부분 복호화 암호문 및 상기 비밀 변환키를 이용하여 대칭키를 연산하는 과정;
상기 부분 복호화 브로드캐스트 암호문 중 제3 부분 복호화 암호문을 상기 대칭키로 복호화하여 제2 난수를 획득하는 과정;
상기 부분 복호화 브로드캐스트 암호문 중 제4 부분 복호화 암호문과, 상기 제2 난수를 해쉬연산한 값을 XOR 연산하여 평문 메시지를 획득하는 과정;
상기 제2 난수와 상기 평문 메시지를 해쉬연산하여 제3 난수를 획득하는 과정;
상기 비밀 변환키, 제3 난수 및 겹선형 함수를 연산하여 제1 부분 복호화 암호문 및 제2 부분 복호화 암호문을 연산하는 과정; 및
상기 연산결과에 기초하여 획득한 평문 메시지를 출력하는 과정;
을 포함하는 것을 특징으로 하는 브로드캐스트 암호화 방법.
6. The method of claim 5,
The step of the user terminal obtaining the plaintext message
Receiving a partial decryption broadcast cipher text from the server unit;
Calculating a symmetric key using the first partial decryption ciphertext, the second partial decryption ciphertext, and the secret conversion key among the partial decryption broadcast ciphertexts;
Decoding a third partial decryption cipher text of the partial decryption broadcast cipher text with the symmetric key to obtain a second random number;
Obtaining a plaintext message by XORing a fourth partial decryption cipher text of the partial decryption broadcast cipher text and a value obtained by performing a hash calculation on the second random number;
Obtaining a third random number by performing a hash operation on the second random number and the plaintext message;
Calculating a first partial decryption ciphertext and a second partial decryption ciphertext by computing the secret conversion key, the third random number, and the folded linear function; And
Outputting a plaintext message obtained based on the calculation result;
The method comprising the steps of:
제1항 내지 제6항 중 어느 한 항에 따른 방법을 컴퓨터로 실행하기 위한 프로그램이 기록된 컴퓨터 판독가능 기록매체.
A computer-readable recording medium on which a program for executing the method according to any one of claims 1 to 6 is recorded.
공개키 및 복수 개의 사용자단말별 고유한 비밀키를 생성하고, 생성한 공개키를 메시지암호화부로 전송하며, 상기 비밀키를 상기 복수 개의 사용자단말로 각각 전송하는 키생성부;
상기 공개키 및 암호화하고자 하는 평문 메시지를 수신하고, 수신한 공개키에 기초하여 대칭키, 헤더 및 상기 평문 메시지에 대한 암호문을 생성하며, 상기 평문 메시지를 수신하고자 하는 사용자단말의 수, 상기 헤더 및 암호문을 포함하는 브로드캐스트 암호문을 생성하여 전송하는 메시지암호화부;
사용자단말로부터 생성된 공개 변환키를 수신하여 상기 브로드캐스트 암호문을 부분 복호화한 후 상기 사용자단말로 전송하는 서버부;
상기 비밀키에 기초하여 공개 변환키 및 비밀 변환키를 생성하고, 생성한 공개 변환키를 상기 서버부로 전송하며, 부분 복호화된 브로드캐스트 암호문을 상기 비밀 변환키를 이용하여 전체 복호화하여 평문메시지를 획득하는 사용자단말;
을 포함하는 브로드캐스트 암호화 시스템.
A key generation unit for generating a public key and a secret key unique to a plurality of user terminals, transmitting the generated public key to the message encryption unit, and transmitting the secret key to each of the plurality of user terminals;
The method comprising: receiving the public key and a plaintext message to be encrypted, generating a symmetric key, a header, and a ciphertext for the plaintext message based on the received public key, calculating a number of user terminals to receive the plaintext message, A message encryption unit for generating and transmitting a broadcast cipher text including a cipher text;
A server unit receiving a public key generated from a user terminal, partially decrypting the broadcast cipher text, and transmitting the partial cipher text to the user terminal;
Generates a public conversion key and a secret conversion key based on the secret key, transmits the generated publicity conversion key to the server unit, totally decrypts the partially decrypted broadcast cipher text using the secret conversion key, A user terminal;
Gt; a < / RTI > broadcast encryption system.
KR1020140052248A 2013-06-21 2014-04-30 Broadcast encryption method and system KR101533950B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020130071545 2013-06-21
KR20130071545 2013-06-21

Publications (2)

Publication Number Publication Date
KR20140148295A KR20140148295A (en) 2014-12-31
KR101533950B1 true KR101533950B1 (en) 2015-07-03

Family

ID=52474532

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020140047990A KR101533422B1 (en) 2013-06-21 2014-04-22 Broadcast encryption method and system
KR1020140052248A KR101533950B1 (en) 2013-06-21 2014-04-30 Broadcast encryption method and system

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020140047990A KR101533422B1 (en) 2013-06-21 2014-04-22 Broadcast encryption method and system

Country Status (1)

Country Link
KR (2) KR101533422B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101727691B1 (en) * 2015-12-07 2017-04-19 고려대학교 산학협력단 Server and system for identity-based revocation
KR101967521B1 (en) * 2017-03-28 2019-08-13 한양대학교 산학협력단 Broadcast encryption and decryption method based on subset difference
CN107169914B (en) * 2017-05-16 2018-04-20 宁波大学 A kind of cipher-text information generation method for image latent writing
KR102172241B1 (en) * 2018-10-30 2020-10-30 고려대학교 산학협력단 Trustworthy delegation toward securing mobile healthcare cyber-physical systems

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080092611A (en) * 2007-04-12 2008-10-16 삼성전자주식회사 Aparatus for broadcast encryption and broadcast decryption and method for the same
KR20090079465A (en) * 2008-01-17 2009-07-22 고려대학교 산학협력단 System of Broadcast Encryption and Method thereof

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101308023B1 (en) * 2011-10-27 2013-09-26 국방과학연구소 Broadcast encryption method for securing recipient privacy

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080092611A (en) * 2007-04-12 2008-10-16 삼성전자주식회사 Aparatus for broadcast encryption and broadcast decryption and method for the same
KR20090079465A (en) * 2008-01-17 2009-07-22 고려대학교 산학협력단 System of Broadcast Encryption and Method thereof

Also Published As

Publication number Publication date
KR101533422B1 (en) 2015-07-10
KR20140148295A (en) 2014-12-31
KR20150000396A (en) 2015-01-02

Similar Documents

Publication Publication Date Title
JP4859933B2 (en) Ciphertext generation apparatus, cryptographic communication system, and group parameter generation apparatus
CN102055760B (en) Message sending/receiving method and system
US8995660B2 (en) Cryptographic system, cryptographic communication method, encryption apparatus, key generation apparatus, decryption apparatus, content server, program, and storage medium
JP5389212B2 (en) Re-ciphertext verification program, re-encryption device, and re-encryption system
KR20150122513A (en) Encryption apparatus, method for encryption and computer-readable recording medium
US9813386B2 (en) Cooperation service providing system and server apparatus
US10411885B2 (en) Method and system for group-oriented encryption and decryption with selection and exclusion functions
KR101618941B1 (en) Computation Method of encrypted data using Homomorphic Encryption and Pairing-based Encryption and Server using the same
US20180278417A1 (en) Apparatus and method for generating key, and apparatus and method for encryption
KR101533950B1 (en) Broadcast encryption method and system
JPWO2014010202A1 (en) Encryption statistical processing system, decryption system, key generation device, proxy device, encrypted statistical data generation device, encryption statistical processing method, and encryption statistical processing program
KR101423956B1 (en) System of attribute-based encryption and Method thereof
KR101575681B1 (en) Method of attribute-based encryption
KR101695361B1 (en) Terminology encryption method using paring calculation and secret key
KR101373577B1 (en) Apparatus of id based dynamic threshold encryption and method thereof
JP2010160235A (en) Retrieval system, terminal device, database device, retrieval method, and program
JP5679344B2 (en) Signature key obfuscation system, signature key obfuscation method, encryption signature system using obfuscated signature key, encryption signature method and program using obfuscated signature key
JP2010117384A (en) Information processing apparatus, information processing method, and program
Somaiya et al. Implementation and evaluation of EMAES–A hybrid encryption algorithm for sharing multimedia files with more security and speed
JP2004201124A (en) Public key ciphering method, signature method, cipher communication system, and computer program
CN112954388A (en) Data file acquisition method and device, terminal equipment and storage medium
JP4612027B2 (en) Signature system
KR101727691B1 (en) Server and system for identity-based revocation
KR101306211B1 (en) Method for broadcast encryption based on identification number
JP5912281B2 (en) Decryption result verification apparatus, method, system, and program

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20180406

Year of fee payment: 4

R401 Registration of restoration