KR100975038B1 - System of Broadcast Encryption and Method thereof - Google Patents

System of Broadcast Encryption and Method thereof Download PDF

Info

Publication number
KR100975038B1
KR100975038B1 KR1020080005443A KR20080005443A KR100975038B1 KR 100975038 B1 KR100975038 B1 KR 100975038B1 KR 1020080005443 A KR1020080005443 A KR 1020080005443A KR 20080005443 A KR20080005443 A KR 20080005443A KR 100975038 B1 KR100975038 B1 KR 100975038B1
Authority
KR
South Korea
Prior art keywords
message
key
generating
users
encryption
Prior art date
Application number
KR1020080005443A
Other languages
Korean (ko)
Other versions
KR20090079465A (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 KR1020080005443A priority Critical patent/KR100975038B1/en
Publication of KR20090079465A publication Critical patent/KR20090079465A/en
Application granted granted Critical
Publication of KR100975038B1 publication Critical patent/KR100975038B1/en

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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • 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/006Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
    • 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
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters

Abstract

본 발명은 브로드캐스트 암호화 파라미터로 사용되는 공개키의 전송량, 저장량 및 사이즈 측면에서 효율성을 꾀할 수 있는 브로드캐스트 암호화 시스템에 관한 것이다.The present invention relates to a broadcast encryption system capable of efficiency in terms of transmission amount, storage amount and size of a public key used as a broadcast encryption parameter.

본 명세서에서 개시하는 브로드캐스트 암호화 시스템은 브로드캐스트 암호화 시스템 내의 전체 사용자들을 다수의 그룹으로 분할하고 상기 그룹의 수만큼의 난수와 상기 분할된 각 그룹에 속한 사용자의 수만큼의 난수를 발생시켜, 그룹 내의 정당한 수신권한이 있는 사용자에게 메시지를 암호화하여 브로드캐스팅 할 때 사용할 공개키를 생성하고, 상기 암호화된 메시지의 복호를 위한 비밀키를 생성하는 키 생성부, 상기 비밀키를 그룹 내의 전체 사용자들에게 분배(브로드캐스팅)하는 키 분배부, 및 상기 브로드캐스팅을 하는 메시지를 암호화하여 메시지 수신자들에게 전송하는 메시지 암호화/전송부를 포함하여 본 발명의 과제를 해결한다.The broadcast encryption system disclosed herein divides all users in the broadcast encryption system into a plurality of groups and generates random numbers as many as the number of groups and as many random numbers as the number of users belonging to each of the divided groups. A key generator for generating a public key for use in encrypting and broadcasting a message to a user who has a legitimate reception right in the terminal, and generating a secret key for decrypting the encrypted message, and transmitting the secret key to all users in the group. A key distribution unit for distribution (broadcasting), and a message encryption / transmission unit for encrypting the broadcasted message and transmitting it to message receivers solve the problems of the present invention.

Description

브로드캐스트 암호화 시스템 및 그 방법{System of Broadcast Encryption and Method thereof}Broadcast Encryption System and Method thereof

본 발명은 브로드캐스트 암호화 시스템 및 그 방법에 관한 것으로, 보다 상세하게는 브로드캐스트 암호화 파라미터로 사용되는 공개키의 전송량, 저장량 및 사이즈 측면에서 효율성을 꾀할 수 있는 브로드캐스트 암호화 시스템 및 그 방법에 관한 것이다.The present invention relates to a broadcast encryption system and a method thereof, and more particularly, to a broadcast encryption system and method capable of achieving efficiency in terms of transmission amount, storage amount and size of a public key used as a broadcast encryption parameter. .

브로드캐스트 암호화(Broadcast Encryption)는 전체 사용자들 중에서 메시지 송신자가 원하는 사용자(수신자, user)들에게만 메시지를 암호화시켜 전달하는 방식으로서, 단 한 번의 암호 브로드캐스팅을 통해 정당한 사용자만이 암호키(encryption key)를 얻을 수 있다는 점에서 유료 채널의 위성 TV 수신 서비스나 저작권으로 보호되는 콘텐츠의 전송에 효율적으로 사용될 수 있다.Broadcast Encryption is a method of encrypting and delivering a message to only the users (recipients) desired by the sender of the message among all users. Only one legitimate user can encrypt the encryption key through a single password broadcasting. ) Can be efficiently used for satellite TV reception services of paid channels or for transmission of copyright-protected content.

브로드캐스트 암호화는 정보를 받을 사용자들의 집합이 임의적이고 동적으로 변화하는 경우에 효과적으로 이용될 수 있어야 한다. 브로드캐스트 암호화에서의 가장 중요한 사항은 메시지 송신자가 원치 않는 사용자(예컨대, 불법 사용자 또는 기간이 만료된 사용자)를 효과적으로 배제(revocation)시키는 것이다.Broadcast encryption should be able to be effectively used when the set of users to receive information varies randomly and dynamically. The most important thing in broadcast encryption is that message senders effectively revocation unwanted users (eg, illegal users or expired users).

브로드캐스트 암호화에 의하면, 메시지 송신자가 메시지를 암호화시켜 다수의 사용자(수신자)에게 송신하면(암호화 전송시 사용자 집합(S), 헤더(Header) 및 암호화 키 K를 암호문에 부가시켜 전송한다) S에 속한 사용자만이 메시지 암호화 키(K)를 추출한 후 추출된 키로 암호화된 메시지(CM)를 복호하여 볼 수 있도록 한다.According to broadcast encryption, when a message sender encrypts a message and transmits it to a large number of users (recipients) (when encrypting transmission, the user set S, a header, and an encryption key K are added to the ciphertext and transmitted). Only the belonging user extracts the message encryption key K and then decrypts and views the message C M encrypted with the extracted key.

여기서 사용자 집합 S에 속한 사용자를 정당한 사용자(permitted user)라고 하는데, 브로드캐스트 암호화 기법에 의하면 이들 정당한 사용자만이 메시지를 얻을 수 있게 하고 S에 속하지 않는 사용자는 메시지를 얻을 수 없게 해야 하므로 기본적으로 수신자의 권한이 취소된(revoked) 경우에 대한 대응 메커니즘을 제공해야 한다. 즉, 권한이 취소된 수신자들이 공모(collusion)하여 공격할 수 있기 때문에 브로드캐스트 암호 기법은 권한이 취소된 수신자들의 공모 공격(collusion attack)에 대하여 안전해야(secure) 한다.In this case, the users belonging to user set S are called permitted users.By default, the broadcast encryption technique requires that only those legitimate users should be able to get messages, and users who do not belong to S should not be able to get messages. A response mechanism should be provided for cases in which the authority of Revoked is revoked. In other words, the broadcast cryptography must be secure against the collusion attack of the revoked recipients because the revoked recipients can collocate and attack.

브로드캐스트 암호화 방식에는 대칭키(비밀키) 기반 방식(symmetric(private) key setting)과 공개키 기반 방식(public key setting)이 있다. 대칭키 기반 방식에 의하면 우선 신뢰된(trusted) 송신자만이 사용자의 비밀키(private key)를 생성하여 분배하고 사용자에게 브로드캐스트 메시지를 전송한다. 사용자는 분배받은 비밀키를 이용하여 전송된 메시지를 복호화하여 확인한다. 대칭키 기반 방식에 의하면 신뢰된 송신자가 암호화에 대한 모든 책임을 지므로 암호화 시스템 작동 불능시 전체 브로드캐스트 암호 시스템이 마비된다. 그리고 구성 원의 가입과 탈퇴시 복잡한 키 갱신 프로세스가 필요한 단점이 있다.Broadcast encryption methods include symmetric (private) key setting and public key setting (public key setting). According to the symmetric key-based scheme, only a trusted sender first generates and distributes a user's private key and transmits a broadcast message to the user. The user decrypts and confirms the transmitted message using the distributed private key. In a symmetric key-based approach, the trusted sender takes full responsibility for the encryption, and if the encryption system is inoperable, the entire broadcast cryptosystem is paralyzed. In addition, there is a disadvantage in that a complicated key renewal process is required for joining and leaving a member.

이에 반해 공개키 기반 방식은 공통으로 사용하는 공개키를 이용하여 그룹 구성원(사용자) 누구라도 브로드캐스트 메시지를 전송할 수 있고, 복잡한 키 갱신 프로세스를 요구하지 않으므로 대칭키 기반 방식의 단점을 극복할 수 있다. 또한 공개키 기반 방식의 브로드캐스트 암호화 방식은 쉽게 대칭키 기반 방식으로 변환될 수 있는 우수성도 갖는다. 따라서 현재의 브로드캐스트 암호화는 공개키 기반 방식으로 구현됨이 거의 대부분이다.In contrast, the public key-based method can overcome the disadvantages of the symmetric key-based method by allowing anyone in the group (user) to transmit a broadcast message using a public key that is commonly used, and does not require a complicated key update process. . In addition, the public key-based broadcast encryption method has the superiority that can be easily converted to the symmetric key-based method. Therefore, current broadcast encryption is almost always implemented in a public key based manner.

브로드캐스트 암호화 방식의 구현을 위한 여러 기법이 제안되었는데, 대표적인 기법으로 Boneh, Gentry와 Water에 의해 제안된 기법(BGW 기법)을 들 수 있다.Several schemes have been proposed for the implementation of the broadcast encryption scheme. The representative schemes include the schemes proposed by Boneh, Gentry, and Water (BGW).

이 기법은 총 사용자수가 크거나 정당한 사용자로부터 배제된 자의 수가 작을 때 효과적인 방안이 될 수 있으나, 암호문 전송량, 공개키 저장량 및 공개키 사이즈 측면에서 매우 비효율적이다.This technique can be an effective solution when the total number of users is large or the number of users excluded from legitimate users is small, but it is very inefficient in terms of ciphertext transmission, public key storage, and public key size.

본 발명이 해결하고자 하는 과제는 상기한 기법들과 마찬가지로 공모 공격에 완전히 안전한 공개키 브로드캐스트 암호화 기법을 제안하되, 암호문 전송량, 공개키 저장량 및 공개키 사이즈 측면에서에서 이점을 가지는 브로드캐스트 암호화 기법을 제안하는 것이다.The problem to be solved by the present invention is to propose a public key broadcast encryption technique that is completely secure against collusion attacks, as in the above techniques, but to provide a broadcast encryption technique that has advantages in terms of ciphertext transmission, public key storage and public key size I would suggest.

상기와 같은 과제를 해결하기 위해 본 명세서에서 개시하는 브로드캐스트 암호화 시스템은 브로드캐스트 암호화 시스템 내의 전체 사용자들을 다수의 그룹으로 분할하고 상기 그룹의 수만큼의 난수와 상기 분할된 각 그룹에 속한 사용자의 수만큼의 난수를 발생시켜, 그룹 내의 정당한 수신권한이 있는 사용자에게 메시지를 암호화하여 브로드캐스팅 할 때 사용할 공개키를 생성하고, 상기 암호화된 메시지의 복호를 위한 비밀키를 생성하는 키 생성부, 상기 비밀키를 그룹 내의 전체 사용자들에게 분배(브로드캐스팅)하는 키 분배부, 및 상기 브로드캐스팅을 하는 메시지를 암호화하여 메시지 수신자들에게 전송하는 메시지 암호화/전송부를 포함하여 본 발명의 과제를 해결한다.In order to solve the above problems, the broadcast encryption system disclosed herein divides all the users in the broadcast encryption system into a plurality of groups, the number of random numbers and the number of users belonging to each divided group. A key generator for generating a random number, generating a public key for encrypting and broadcasting a message to a user who has a legitimate receiving authority in a group, and generating a secret key for decrypting the encrypted message, the secret The present invention solves the problems of the present invention including a key distribution unit for distributing (broadcasting) a key to all users in a group, and a message encryption / transmitter for encrypting the broadcasted message and transmitting the message to a message receiver.

삭제delete

키 생성부는 공개키를 생성할 때 전체 사용자들의 수만큼만 생성하여 본 발명의 과제를 해결한다.키 생성부는 아울러 상기 비밀키를 상기 전체 사용자들 중 각 사용자에 대한 고유한 인덱스를 구하고, 상기 인덱스를 이용하여 비밀키를 생성하여 본 발명의 과제를 해결한다.The key generation unit solves the problem of the present invention by generating only the number of all users when generating the public key. The key generation unit also obtains the unique index for each user among the entire users, and calculates the index. It solves the problem of the present invention by generating a secret key.

메시지 암호화/전송부는 브로드캐스팅 할 메시지의 암호화키를 생성하는 암호화키 생성부, 상기 두 인덱스를 반영하여 헤더를 생성하는 헤더 생성부, 및 암호화키로 브로드캐스팅 할 메시지를 암호화한 암호문을 작성하고, 암호문에 헤더를 부가하여 상기 메시지 수신자들에게 브로드캐스팅하는 암호화 메시지 작성/브로드캐스팅부를 포함하여 본 발명의 과제를 해결한다.The message encryption / transmitter generates an encryption key generator for generating an encryption key of a message to be broadcast, a header generator for generating headers reflecting the two indexes, and a ciphertext for encrypting a message to be broadcast with an encryption key. The present invention solves the problems of the present invention by including an encrypted message writing / broadcasting unit broadcasting the message receiver by adding a header to the header.

한편 암호화 메시지에 대한 복호에는 상기 공개키가 필요 없게 하여 본 발명의 과제를 해결한다.On the other hand, the decryption of the encrypted message eliminates the need for the public key, thereby solving the problem of the present invention.

상기와 같은 과제를 해결하기 위해 본 명세서에서 개시하는 브로드캐스트 암호화 방법은
(a)브로드캐스트 암호화 시스템 내의 전체 사용자들을 다수의 그룹으로 분할하고 상기 그룹의 수만큼의 난수와 상기 분할된 각 그룹에 속한 사용자의 수만큼의 난수를 발생시켜, 그룹 내의 정당한 수신권한이 있는 사용자에게 메시지를 암호화하여 브로드캐스팅 할 때 사용할 공개키를 생성하는 단계,
(b)상기 암호화된 메시지의 복호를 위한 비밀키를 생성하는 단계,
(c)상기 공개키 및 비밀키를 그룹 내의 전체 사용자들에게 분배(브로드캐스팅)하는 단계, 및
In order to solve the above problems, the broadcast encryption method disclosed herein
(a) dividing the entire users in the broadcast encryption system into a plurality of groups, generating random numbers as many as the number of groups and as many random numbers as the users belonging to each divided group, so that users with legitimate reception rights in the group Generating a public key for use in encrypting and broadcasting the message to the client,
(b) generating a secret key for decrypting the encrypted message;
(c) distributing (broadcasting) the public and private keys to all users in the group, and

(d)상기 브로드캐스팅을 하는 메시지를 암호화하여 메시지 수신자들에게 전송하는 단계를 포함하여 본 발명의 과제를 해결한다.(d) solving the problems of the present invention, including the step of encrypting the broadcasted message and transmitting it to message recipients.

(a)단계는 공개키를 전체 사용자들의 수만큼만 생성하여 본 발명의 과제를 해결한다.
(b)단계는 상기 전체 사용자들 중 각 사용자에 대한 고유한 인덱스를 구하고, 상기 인덱스를 이용하여 비밀키를 생성하는 것으로 본 발명의 과제를 해결한다.
Step (a) solves the problems of the present invention by generating only the number of public keys for all users.
Step (b) solves the problem of the present invention by obtaining a unique index for each user among all the users, and generating a secret key using the index.

삭제delete

(d)단계는 브로드캐스팅 할 메시지의 암호화키를 생성하는 단계, 두 인덱스를 반영하여 헤더를 생성하는 단계, 암호화키로 브로드캐스팅 할 메시지를 암호화한 암호문을 작성하는 단계, 및 암호문에 헤더를 부가하여 수신자들에게 브로드캐스팅하는 단계를 포함하여 본 발명의 과제를 해결한다.In step (d), an encryption key of a message to be broadcast is generated, a header is generated by reflecting two indexes, a cipher text is encrypted by encrypting the message to be broadcast with the encryption key, and a header is added to the encryption text. Addressing the subject of the present invention includes broadcasting to the recipients.

본 발명에 의한 브로드캐스트 암호화 기법은 기존에 제시된 기법에 비하여 암호문 전송량, 공개키 저장량, 공개키 사이즈 측면에서 뛰어난 성능을 보인다.The broadcast encryption scheme according to the present invention exhibits superior performance in terms of ciphertext transmission amount, public key storage amount, and public key size, compared to the conventionally proposed techniques.

본 발명에 관한 구체적인 내용의 설명에 앞서 이해의 편의를 위해 본 발명이 해결하고자하는 과제의 해결 방안의 개요를 우선 제시한다.Prior to the description of the specific contents of the present invention, for the convenience of understanding, an outline of a solution of the problem to be solved by the present invention is first presented.

본 발명에 의한 브로드캐스트 암호화 기법은 BGW 기법과 마찬가지로 암호문 전송량과 공개키 저장량 사이에 트레이드-오프(trade-off)를 꾀한다. 총 n(=a*b)명의 사용자를 동일한 크기를 갖는 a개의 사용자 그룹(부분집합) S1,…,Sa 로 나누고(각 부분집합에는 b명의 사용자가 있다), 각 부분집합에서 권한이 취소된 사용자의 수 r1,…,ra 중 최소의 수를 r'이라고 할 때, 본 발명에 의한 암호화 기법은 암호문 전송량은 (a+1)G+rlog2n, 공개키 저장량은 (b+1-r')이며, 따라서 권한이 취소된 사용자의 수가 커질수록 공개키 저장량은 작아진다. 여기서 r은 사용자 그룹에서 권한이 취소된 사용자의 총 수를 의미하는 것으로 r1 + … + ra이다.The broadcast encryption scheme according to the present invention, like the BGW scheme, seeks a trade-off between the ciphertext transmission and the public key storage. A user group (subset) with the same size of total n (= a * b) users S 1 ,. Divide by, S a (each subset has b users), and the number of revoked users in each subset r 1 ,… , r a When the minimum number is r ', the encryption scheme according to the present invention has a ciphertext transmission amount of (a + 1) G + rlog 2 n and a public key storage amount of (b + 1-r'). The larger the number of users established, the smaller the amount of public key storage. Where r is the total number of revoked users in the user group, where r 1 +… + r a .

본 발명에 의한 암호화 기법의 출발점은 Boneh, Boyen, Goh의 계층적인 ID 기반의 암호화 기법(BBG Hierarchical Identity Based Encryption, BBG HIBE)에 의한 개인키 생성 방안이다. b-단계 BBG HIBE에서 키 생성 알고리즘은, 간략히 언급하면, 위수(prime order)가 p인 그룹(Zp)에 속하는 임의의 난수 r에 대하여 깊이 1의 ID=I1에 대한 개인키(dID)를 다음과 같이 생성한다.The starting point of the encryption scheme according to the present invention is a private key generation method using BHG Hierarchical Identity Based Encryption (BBG HIBE) of Boneh, Boyen, Goh. In the b-stage BBG HIBE, the key generation algorithm, briefly mentioned, is a private key (d ID) for ID = I 1 at depth 1 for any random number r belonging to group Z p whose prime order is p. ) Is generated as follows.

dID = (g2, (g3h1 I1)r, gr, h2 r,…, hb r).d ID = (g 2 , (g 3 h 1 I1 ) r , g r , h 2 r , ..., h b r ).

g3을 제외하면 각 S1,…,Sa에 해당하는 a개의 공개키를 추가해야 한다. 다음 으로 i=(u-1)b+v를 만족하고 {1,…,n}에 속하는 사용자 i의 개인키(dID)를 (g2(xuhv)r, gr, h1 r,…, hv -1 r, hv +1 r,…, hb r)로 계산한다.with the exception of g 3 , each S 1 ,. You must add a public key corresponding to, S a . Next, i = (u-1) b + v is satisfied and {1,… , n} of the user i's private key (d ID ) (g 2 (x u h v ) r , g r , h 1 r ,…, h v -1 r , h v +1 r ,…, h b r ).

이러한 변환은 본 발명에 의한 암호화 기법이 총 n(=ab)명의 사용자를 다룰 수 있도록 해 준다. Bilinear Diffie-Hellman Exponent(BDHE) 가정 하에서 본 발명에 의한 암호화 기법의 안전성을 증명할 수 있다.This conversion allows the encryption scheme according to the present invention to handle a total of n (= ab) users. Under the assumption of Bilinear Diffie-Hellman Exponent (BDHE), the security of the encryption scheme according to the present invention can be demonstrated.

이하, 본 발명의 기술적 과제의 해결 방안을 명확화하기 위한 발명의 구성을 본 발명의 바람직한 실시예에 근거하여 첨부 도면을 참조하여 상세히 설명하되, 도면의 구성요소들에 참조번호를 부여함에 있어서 동일 구성요소에 대해서는 비록 다른 도면상에 있더라도 동일 참조번호를 부여하였으며 당해 도면에 대한 설명시 필요한 경우 다른 도면의 구성요소를 인용할 수 있음을 미리 밝혀둔다.Hereinafter, the configuration of the invention for clarifying the solution of the technical problem of the present invention will be described in detail with reference to the accompanying drawings based on the preferred embodiment of the present invention, the same configuration in the reference numerals to the components of the drawings The elements have been given the same reference numerals even though they are in different drawings, and it is noted that in the description of the drawings, components of other drawings may be cited if necessary.

먼저 본 발명의 설명을 위해 사용되는 노테이션(notation)들은 다음과 같이 정의된다.First, notations used for explanation of the present invention are defined as follows.

G : 위수가 p인 곱셈 순환 그룹.G: Multiplication cycle group with rank p.

GT : 위수가 p인 곱셈 순환 그룹.G T : Multiplication cycle group with rank p.

e( , ) : 그룹 G에서 정의되는 페어링(pairing) 함수.e (,): Pairing function defined in group G.

Zp : 위수가 p인 그룹.Z p : A group with rank p.

g : 그룹 G의 생성원(generator).g: generator of group G.

α: 그룹 Zp *에서 선택한 난수로 사용자의 비밀키를 생성하는데 사용.α: Used to generate a user's secret key with a random number chosen from group Z p * .

h : G 그룹에서 선택한 난수로 공개키, 비밀키 및 암호화키를 생성하는데 사용.h: Used to generate public, secret and encryption keys with random numbers selected from G group.

xu : G 그룹에서 선택한 난수로 공개키 및 비밀키를 생성하는데 사용. u는 1에서 a까지의 값을 갖는다.x u : Used to generate public and private keys with random numbers selected from G group. u has a value from 1 to a.

yv : G 그룹에서 선택한 난수로 공개키 및 비밀키를 생성하는데 사용. v는 1에서 b까지의 값을 갖는다.y v : Used to generate public and private keys with random numbers selected from G group. v has a value from 1 to b.

i : 개별 사용자를 나타내는 정수 값으로 1에서 n까지의 값을 가짐.i: Integer value representing an individual user, with a value from 1 to n.

S : 전체 사용자 n명중 정당한 사용자의 집단.S: Group of legitimate users out of n total users.

r : Zp 그룹에서 선택한 난수. 사용자의 비밀키를 임의적으로(randomly) 생성하는데 사용.r: Random number selected from Z p group. Used to randomly generate a user's private key.

s : Zp 그룹에서 선택한 난수. 메시지 암호화키를 임의적으로 생성하는데 사용.s: Random number chosen from Z p group. Used to randomly generate a message encryption key.

도 1 내지 도 2는 본 시스템 발명의 바람직한 일실시예의 구성을 제시한 도면이고, 도 3은 본 방법 발명의 바람직한 일 흐름을 제시한 도면이다.1 to 2 is a view showing the configuration of a preferred embodiment of the present invention, Figure 3 is a view showing a preferred flow of the present invention.

키 생성부(11)는 메시지의 암호화 파라미터로 사용될 공개키(PK)와 각 사용자 i(i ∈ {1,…,n})의 비밀키(di)를 생성하며(S11), 키 분배부(12)는 생성된 공개키와 비밀키를 각 사용자 i에게 분배하는데(S12), 공개키와 비밀키의 생성 및 분배는 다음과 같이 이루어진다.The key generation unit 11 generates a public key PK to be used as an encryption parameter of the message and a secret key d i of each user i (i ∈ {1, ..., n}) (S11). (12) distributes the generated public and private keys to each user i (S12), and the generation and distribution of the public and private keys is performed as follows.

키 생성부(11)는 우선 위수가 p인 두 그룹 G, GT를 설정하고 이들 두 그룹 간의 페어링 함수(pairing function) e( , )를 설정한다(S111). 페어링 함수는 사용자에게 전송할 메시지의 암호화에 필요한 암호화키 K의 생성과 사용자(메시지 수신자)가 암호화된 메시지를 복호화하는데 필요한 키 K를 암호화된 메시지로부터 추출하는데 이용하기 위해서 설정되는 것이다.The key generation unit 11 first sets two groups G and G T having a rank p and sets a pairing function e (,) between the two groups (S111). The pairing function is set to generate an encryption key K necessary for encrypting a message to be transmitted to the user and to use to extract from the encrypted message the key K necessary for the user (message recipient) to decrypt the encrypted message.

키 생성부(11)는 다음으로 그룹 G의 생성원 g를 임의로 선택하고, 난수 α를 선택하여 g1=gα로 설정한다. 그리고 그룹 G에 속하는 난수 h, x1,…, xa, y1,…, yb을 선택한다. 여기서 a와 b는 상기에서 언급한 노테이션(notation)과 같다. 키 생성부(11)는 상기한 생성원 및 난수들을 이용하여 공개키 PK를 다음과 같이 생성한다(S112).The key generation unit 11 next arbitrarily selects the generation source g of the group G, selects a random number α, and sets g 1 = g α . And random number h, x 1 ,... , x a , y 1 ,... , y b Where a and b are the same as the notations mentioned above. The key generation unit 11 generates a public key PK using the generation source and random numbers as described above (S112).

PK = (g, g1(=gα), h, x1,…, xa, y1,…, yb).PK = (g, g 1 (= g α ), h, x 1 ,…, x a , y 1 ,…, y b ).

여기서 h와 g1은 사용자들에게 전송할 암호문(CM)을 생성하는데 필요한 암호화키 K의 생성에 이용하기 위해 삽입되는 것이며, g는 암호문(CM)에 부가시킬 헤더(Hdr)를 생성하기 위해 삽입되는 것이다.Where h and g 1 are inserted for use in generating the encryption key K needed to generate a ciphertext (C M ) to be sent to users, and g is for generating a header (Hdr) to append to the ciphertext (C M ). Is inserted.

한편 본 발명에 의한 공개키 PK의 개수는 사용자의 수 즉, n개만이 필요한데 이는 BGW 기법과 다른 점이다. BGW 기법에 의하면 n명의 사용자에 대해 2n개의 공개키가 필요하다.Meanwhile, the number of public key PKs according to the present invention requires only the number of users, that is, n, which is different from the BGW technique. The BGW technique requires 2n public keys for n users.

본 발명에 의한 기법과 BGW 기법의 공개키의 개수가 동일한 사용자 수에 대 하여 다른 이유는 암호화키 K를 생성하는 대수적 구조(algebraic structure)가 다르기 때문이다.The reason why the number of public keys in the technique according to the present invention and the BGW technique is the same is different because the algebraic structure for generating the encryption key K is different.

BGW 기법에 의한 암호화키 K는 다음과 같이 생성된다.The encryption key K by the BGW technique is generated as follows.

Figure 112008004127714-pat00001
--- 식 (1).
Figure 112008004127714-pat00001
--- Equation (1).

이 식을 살펴보면, 분자에서 g(αi)와 g(αn+1-j)가 페어링의 성질에 의해 지수끼리 곱해진다. 그러므로 n+1-j+i 의 차수를 갖는 지수가 생기는데, 만일 j=1이고 i=n이면, n+1-j+i=2n이 된다. 또한 j=n 이고 i=1이면 n+1-j+i=2가 된다. 따라서 이를 분모와 맞추어 주기 위해서는 g2,…,g2n 의 거의 2n개의 원소가 필요하게 된다. 여기서 gi = g(αi)이다.Looking at this equation, g (αi) and g (αn + 1-j) are multiplied exponentially by the nature of pairing in the molecule. Thus, an exponent with an order of n + 1-j + i is produced, if j = 1 and i = n, then n + 1-j + i = 2n. In addition, when j = n and i = 1, n + 1-j + i = 2. Therefore, to match this to the denominator, g 2 ,.. Almost 2n elements of, g 2n are needed. Where g i = g (α i) .

반면 본 발명에 의한 암호화 기법에서 복호화키 K는 다음과 같이 생성된다.On the other hand, in the encryption scheme according to the present invention, the decryption key K is generated as follows.

Figure 112008004127714-pat00002
--- 식 (2).
Figure 112008004127714-pat00002
--- Equation (2).

여기서 ki ,j는 상기 비밀키

Figure 112008004127714-pat00003
인데(여기서 ki,j = yj r이다), 저장된 n개의 ki ,j 값들을 가지고 복호를 수행할 수 있다.Where k i , j is the secret key
Figure 112008004127714-pat00003
Inde (where the ki, j = y j r) , it is possible to perform the decoding with the stored n of k i, j values.

이 식에서 알 수 있는 바와 같이 본 발명에 의한 암호화 기법에서는 BGW 기법처럼 지수끼리 곱함으로써 분자와 분모의 차수를 동일하게 만드는 것이 아니고, 단순히 분자와 분모를 동일 차수를 갖는 형태로 세팅시키기만 하면 된다. 따라서 공개키 PK의 구현에 있어 2n개가 아닌 n개의 원소만 있으면 된다.As can be seen from this equation, in the encryption method according to the present invention, the order of the numerator and the denominator are not made equal by multiplying the exponents as in the BGW method, but simply setting the numerator and the denominator to have the same order. Therefore, the public key PK implementation only needs n elements, not 2n.

키 생성부(11)는 공개키 PK를 상기와 같이 생성한 후 각 사용자 i가 전송받은 암호화 메시지를 추후 복호하는데 필요한 비밀키 di를 생성한다(S113).The key generation unit 11 generates the public key PK as described above, and then generates a secret key d i necessary for later decrypting the encrypted message received by each user i (S113).

비밀키 di를 생성하기 위해서 먼저 i = (u-1)b + v를 만족하는 두 값 u, v를 계산하고 그룹 Zp에 속하는 난수 r을 선택한다. 여기서 u는 메시지 수신자들을 분할하여 이루어진 각 수신자 그룹(즉, S의 부분집합 Su)의 인덱스(index)이며, v는 각 사용자 i의 부분집합 Su에서의 인덱스이다. 따라서 u는 1에서 a까지 값을, v는 1에서 b까지 값을 취하게 된다.To generate the secret key d i , we first compute two values u, v that satisfy i = (u-1) b + v and then select a random number r that belongs to the group Z p . Where u is the index of each group of recipients (i.e., a subset of S u of S) formed by dividing the message receivers, and v is the index of a subset S u of each user i. Therefore u takes values from 1 to a and v takes values from 1 to b.

u와 v가 계산된 후 사용자 i의 비밀키 di는 다음과 같이 획득된다.After u and v are calculated, the private key d i of user i is obtained as follows.

di = (hα* (xu * yv)r, gr, y1 r,…, yv -1 r, yv +1 r,…, yb r).d i = (h α * (x u * y v ) r , g r , y 1 r ,…, y v −1 r , y v +1 r ,…, y b r ).

키 분배부(12)는 각 사용자 i에게 공개키 PK와 생성된 비밀키 di를 브로드캐스트(분배) 한다(S12).The key distribution unit 12 broadcasts (distributes) the public key PK and the generated secret key d i to each user i (S12).

브로드캐스트 암호화의 파라미터로 사용될 공개키 PK와 각 사용자의 비밀키 di를 생성하는 본 발명에 의한 방안은 본 발명의 배경이 되는 BGW 기법과 다음과 같은 차이를 가지고 있다.The method according to the present invention for generating a public key PK to be used as a parameter of broadcast encryption and a secret key d i of each user has the following differences from the BGW scheme that is the background of the present invention.

공개키의 사이즈(size) 측면에서, 본 발명에 의한 기법의 경우 공개키 PK는 위에 제시된 바와 같이 그룹 G에 속하는 (a+b+3)개의 원소만을 이용하여 구현된다.In terms of the size of the public key, in the case of the technique according to the present invention, the public key PK is implemented using only (a + b + 3) elements belonging to the group G as described above.

이에 반하여 BGW-1 기법과 BGW-2 기법에 의한 공개키는 그룹 G에 속하는 (a+2b)개의 원소를 이용하여 구현되므로, 공개키의 구현을 위해 본 발명에 의한 암호화 기법보다 b개 정도 많은 원소가 필요하다. 따라서 본 발명에 의한 암호화 기법은 공개키 사이즈 측면에서 BGW 기법보다 이점을 보인다.On the contrary, since the public keys of the BGW-1 and BGW-2 schemes are implemented using (a + 2b) elements belonging to group G, there are about b more public keys than the encryption scheme of the present invention. Element is required Therefore, the encryption scheme according to the present invention has an advantage over the BGW scheme in terms of public key size.

예를 들어보면 전체 사용자의 수(n)를 1백만 명이라 하고 a, b는 각각 1천으로 가정하자. 이 경우 한 개의 그룹 G의 원소를 표현하기 위해서 필요한 데이터의 양이 대략 160 bit이기 때문에 BGW 기법의 경우 공개키의 크기는 최소 480 Kbit이다. 하지만 본 발명의 경우 320 Kbit이다. 따라서 기존 기법에 비하여 공개키의 크기가 33% 줄어든다.For example, suppose that the total number of users (n) is 1 million and a and b are 1,000 each. In this case, since the amount of data required to represent an element of one group G is approximately 160 bits, the size of the public key is at least 480 Kbit in the BGW scheme. However, in the case of the present invention is 320 Kbit. As a result, the size of the public key is reduced by 33% compared to the conventional scheme.

한편, BGW 기법에 의하면 사용자측 단말의 저장 장치에는 암호화 메시지의 복호를 위하여 사용자의 비밀키가 저장되고 아울러 공개키도 저장되어야 한다. 그러나 본 발명의 경우 사용자의 비밀키 di는 위에 제시된 바와 같이 대략 (b+1)개(정확히는 (b+1-r')개)의 그룹 G의 원소로 이루어져 있고 복호화를 위하여 추가적으로 공개키를 저장하고 있을 필요는 없다.On the other hand, according to the BGW technique, the user's private key must be stored in the storage device of the user terminal and the public key must be stored in order to decrypt the encrypted message. However, in the present invention, the user's secret key d i is composed of approximately (b + 1) (previously (b + 1-r ')) elements of group G as described above, and additionally uses the public key for decryption. You do not need to save it.

즉, BGW 기법에서는 암호화 메시지의 복호를 위해 공개키 PK가 필요하기 때문에 수신자가 암호화 메시지를 복호하려면 자신의 단말에 공개키를 저장하고 있어야 한다. PKBE(Public Key Based Encryption) 기법을 채용한 암호화 기법에서는 복호의 신속성을 위해 일반적으로 수신자(사용자) 단말에 공개키가 개별적으로 저장된다.That is, in the BGW scheme, since the public key PK is required for decryption of the encrypted message, the receiver must store the public key in his terminal to decrypt the encrypted message. In the encryption scheme employing the PKBE (Public Key Based Encryption) technique, the public key is generally stored separately at the receiver (user) terminal for speed of decryption.

하지만 본 발명에 의한 암호화 기법에 의하면 암호화 메시지의 복호에 공개키가 필요 없이 비밀키만으로 복호를 할 수 있다. 본 발명에 의한 암호화 기법에 의하면 공개키는 메시지 송신자가 사용자들에게 메시지를 암호화하여 전송하는 경우에만 필요하다. 따라서 공개키를 별도로 저장할 필요가 없으며 본 발명에 의한 기법이 BGW 기법보다 총 저장량을 줄이는 효과를 볼 수 있다.However, according to the encryption scheme of the present invention, the decryption of the encrypted message can be performed using only the secret key without the need for the public key. According to the encryption scheme according to the present invention, a public key is necessary only when a message sender encrypts and transmits a message to users. Therefore, there is no need to store the public key separately, and the technique of the present invention can reduce the total storage amount than the BGW technique.

이에 반해서 BGW-1 기법의 경우는 복호화를 위해서 필요한 공개키를 암호문에 모두 포함시켜 각 사용자에게 보내주어야 하기 때문에 암호문의 크기가 크게 늘어나고 따라서 공개키 저장량이 크게 늘어나게 된다.On the other hand, in the BGW-1 scheme, since the ciphertext must be included in the ciphertext, which is necessary for decryption, the size of the ciphertext is greatly increased and thus the amount of public key storage is greatly increased.

한편 BGW-2 기법의 경우 복호화에 필요한 공개키를 사용자 단말의 저장 장치에 저장하는 방식을 취하므로 공개키 저장량은 대략 (2b+1)개의 그룹 G의 원소로 이루어진다. 그러므로 본 발명의 경우 BGW 기법에 비해 암호문 전송량 측면에서 이득을 볼 수 있고, 공개키 저장량 측면에서도 b개의 원소를 줄일 수 있는 이득을 볼 수 있다.On the other hand, in the BGW-2 scheme, since the public key required for decryption is stored in a storage device of the user terminal, the amount of public key storage is approximately (2b + 1) group G elements. Therefore, in the case of the present invention, it is possible to obtain a gain in terms of ciphertext transmission compared to the BGW scheme, and to reduce b elements in terms of public key storage.

공개키 PK와 각 사용자 i의 비밀키 di의 생성 및 분배가 이루어지면, 메시지 암호화/전송부(13)는 수신자들로부터 메시지 전송 요청을 받아 집합 S에 속하는 수신자(사용자)들에게 전송되는 메시지 M을 암호화하여 사용자에게 전송하는데(S13) 메시지 M에 대한 암호화는 다음과 같이 이루어진다.When the public key PK and the secret key d i of each user i are generated and distributed, the message encryption / transmitter 13 receives a message transmission request from the receivers and transmits the message to the receivers (users) belonging to the set S. The M is encrypted and transmitted to the user (S13). The encryption of the message M is performed as follows.

우선 암호화키 생성부(131)는 Zp 그룹에서 난수 s를 선택하여 메시지 암호화키 K를 다음과 같이 생성한다(S131). K = e(h, gw)s. 여기서 e( , )는 상기 설정된 페어링 함수를 의미한다.First, the encryption key generation unit 131 selects a random number s from the Z p group and generates a message encryption key K as follows (S131). K = e (h, g w ) s . Here, e (,) means the pairing function set above.

다음으로 헤더 생성부(132)는 수신자 사용자들의 집합 S가 S1,…,Sa의 부분집합으로 나누어진다고 가정할 때, 암호화 메시지의 헤더(Hdr)를 다음과 같이 생성한다(S132).Next, the header generation unit 132 sets the set of recipient users S 1 ,... Assuming that it is divided into a subset of S a , a header Hdr of the encrypted message is generated as follows (S132).

Figure 112008004127714-pat00004
.
Figure 112008004127714-pat00004
.

암호화 메시지 작성/브로드캐스팅부(133)는 대칭키 알고리즘을 이용하여 암호화키 K로 메시지 M을 암호화하여 암호문 CM을 작성하고(S133), 암호문 CM에 사용자 그룹(S)과 헤더(Hdr)를 부가한 암호화 메시지를 작성하여 수신자(사용자)들에게 브로드캐스트 한다(S134). 즉, CM = EK(M)이며, (S, Hdr, CM)을 사용자에게 브로드캐스트(전송)한다.The encrypted message creation / broadcasting unit 133 encrypts the message M with the encryption key K using a symmetric key algorithm to create a ciphertext C M (S133), and the user group (S) and the header (Hdr) in the ciphertext C M. Creates an encrypted message added to the broadcast to the recipient (user) (S134). That is, C M = E K (M), and broadcasts (transmits) (S, Hdr, C M ) to the user.

본 발명이 제공하는 기법에 의한 메시지의 암호화는 BGW 기법에 비하여 다음과 같은 장점을 가진다. 본 발명의 경우 단지 (a+1)개의 그룹 G의 원소들만을 이용하여 암호문을 생성할 수 있다(Hdr이 (a+1)개의 원소로 구현되기 때문에).The encryption of a message by the scheme provided by the present invention has the following advantages over the BGW scheme. In the present invention, the ciphertext can be generated using only the elements of (a + 1) group G (since Hdr is implemented with (a + 1) elements).

이에 반해서 BGW-1 기법의 경우 위에서 언급한 바와 같이 암호문의 복호화를 위해 필요한 공개키를 암호문의 전송때 마다 일일이 암호문에 모두 포함시켜 전송하기 때문에 헤더를 구현함에 (a+2b)개의 그룹 G의 원소가 필요하다.On the other hand, in the BGW-1 scheme, as mentioned above, the header is implemented because the public key necessary for decryption of the ciphertext is included in the ciphertext every time the ciphertext is transmitted. Is needed.

BGW-2 기법의 경우 본 발명의 경우와 마찬가지로 (a+1)개의 그룹 G의 원소만으로 암호문을 생성할 수 있으나, 공개키 저장량이 본 발명에 비하여 b개의 원소를 보다 많이 사용한다(본 발명의 경우 취소된 사용자수가 많으면 저장량을 더욱 줄일 수 있다). 따라서 본 발명의 기법은 암호문 전송량 내지는 공개키 저장량 측면에서 BGW 기법과 동일하거나 더욱 강점을 가진다.In the case of the BGW-2 technique, the ciphertext can be generated using only (a + 1) group G elements as in the case of the present invention, but the amount of public key storage uses more b elements than the present invention (of the present invention). In this case, if the number of canceled users is large, the amount of storage can be further reduced). Therefore, the technique of the present invention has the same or more advantages as the BGW technique in terms of encryption text transmission or public key storage.

각 사용자 i의 단말에 있는 복호화 모듈은 정당한 사용자 집합 S에 속하는 수신자(사용자)가 수신한 암호문 CM을 복호화(decryption)하는데 복호화는 다음과 같이 이루어진다(S14).The decryption module in the terminal of each user i decrypts the ciphertext C M received by the receiver (user) belonging to the legitimate user set S, and the decryption is performed as follows (S14).

각 사용자(수신자) i는 부분집합 Su의 v번째 인덱스를 가지는 사용자이며, 자신의 비밀키가 di = (di ,1, di ,2, ki ,1,…, ki ,v-1, ki ,v+1,…, ki ,b)이고, 송신자로부터 받은 암호화 메시지의 Hdr = (A1,…,Aa, B)이다. 여기서 di,1은 상기한 h* (xu * yv)r에, di,2는 상기한 gr, ki,1은 상기한 y1 r에, ki,v-1은 상기한 yv-1 r에, ki,v+1은 상기한 yv+1 r에, ki,b은 상기한 yb r에 각각 해당한다. 그리고 Hdr의 A1은 상기한 (x1 * ∏j∈S1 yj)s에, Aa은 상기한 (xa * ∏j∈ Sa yj)s에, B는 상기한 gs에 각각 해당한다.Each user (recipient) i is the user with the v-th index of the subset S u , whose secret key is d i = (d i , 1 , d i , 2 , k i , 1 ,…, k i , v -1 , k i , v + 1 ,..., K i , b ), and Hdr = (A 1 , ..., A a , B) of the encrypted message received from the sender. Where d i, 1 is the above h * (x u * y v ) r , d i, 2 is the above g r , k i, 1 is the above y 1 r , and k i, v-1 is the above In one y v-1 r , k i, v + 1 corresponds to y v + 1 r and k i, b corresponds to y b r . And A 1 of Hdr corresponds to (x 1 * ∏ j ∈ S1 y j ) s , A a corresponds to (x a * ∏ j ∈ Sa y j ) s and B corresponds to g s , respectively. do.

각 사용자 i의 단말에 있는 복호화 모듈은 우선 메시지 암호화/전송부(13)로부터 전송받은 암호화 메시지로부터 각 사용자 i에 대한 암호화키 K를 추출하는데(S141), 키 분배부(12)로부터 전송받은 비밀키 di와 메시지 암호화/전송부(13)로부터 전송받은 헤더로부터 추출하며 구체적으로는 다음 식을 통해 추출한다.The decryption module in the terminal of each user i first extracts an encryption key K for each user i from the encrypted message received from the message encryption / transmitter 13 (S141), and the secret received from the key distribution unit 12. Extracted from the header received from the key d i and the message encryption / transmission unit 13, specifically through the following equation.

Figure 112008004127714-pat00005
.
Figure 112008004127714-pat00005
.

K에 관한 이 식은 상기 제시된 식(2)와 동일하다.This equation for K is the same as Equation (2) given above.

여기서 e( , )는 상기 설정된 페어링 함수이다. 각 사용자 i의 단말에 있는 복호화 모듈은 추출된 암호화키 K로 대칭키 알고리즘을 이용하여 암호문 CM을 복호하여 메시지 M을 복호한다(S142). 즉, M=DK(CM).Where e (,) is the pairing function set above. The decryption module in the terminal of each user i decodes the ciphertext C M using the extracted encryption key K by using a symmetric key algorithm (S142). That is, M = D K (C M ).

이처럼 본 발명에 의한 암호화 기법은 BGW기법과는 다르게 PK를 메시지 M의 복호에 사용하지 않음을 알 수 있다.As described above, it can be seen that the encryption scheme according to the present invention does not use the PK to decrypt the message M, unlike the BGW technique.

간단한 실시예를 이용하여 본 발명에 의한 브로드캐스팅 암호화 기법을 설명하면 다음과 같다.Referring to the broadcasting encryption scheme according to the present invention using a simple embodiment as follows.

전체 사용자(수신자) 수 n은 25명으로 설정되었다고 가정하면 전체 사용자 25명은 5명씩의 소그룹(a=5)으로 나누어진다. 즉, 소그룹 S1,…,S5로 나누어지고 각 그룹에는 5명씩 포함이 된다(b=5).Assuming that the total number of users (recipients) is set to 25, 25 total users are divided into 5 small groups (a = 5). That is, small group S 1 ,. , S 5 and each group contains 5 people (b = 5).

키 생성부(11)는 그룹 G의 생성원 및 난수들을 이용하여 공개키 PK를 다음과 같이 생성한다.The key generation unit 11 generates a public key PK using the generation source and random numbers of the group G as follows.

PK = (g, g1, h, x1, x2, x3, x4, x5, y1, y2, y3, y4, y5).PK = (g, g 1 , h, x 1 , x 2 , x 3 , x 4 , x 5 , y 1 , y 2 , y 3 , y 4 , y 5 ).

키 생성부(11)는 PK를 생성 후 각 사용자 i(i ∈ {1,…,25})의 비밀키 di를 생성하는데 우선 각 사용자 i에 해당하는 u, v를 구한다. 예를 들어 i=24인 경우 u, v를 구하는 상기의 식에 의하면 b=5이므로 u=5, v=4이며, 따라서 i=24에 대한 비밀키 d24는 다음과 같이 생성된다.The key generation unit 11 generates a secret key d i for each user i (i ∈ {1, ..., 25}) after generating the PK. First, the key generation unit 11 obtains u and v corresponding to each user i. For example, in the case of i = 24, according to the above equation for obtaining u and v, since b = 5, u = 5 and v = 4. Therefore, the secret key d 24 for i = 24 is generated as follows.

d24 = (hα* (x5 * y4)r, gr, y1 r, y2 r, y3 r, y5 r).d 24 = (h α * (x 5 * y 4 ) r , g r , y 1 r , y 2 r , y 3 r , y 5 r ).

생성된 공개키 PK와 비밀키 di는 키 분배부(12)에 의해 각 사용자에게 분배된다.The generated public key PK and secret key d i are distributed to each user by the key distribution unit 12.

메시지 암호화/전송부(13)는 집합 S에 속하는 수신자 사용자들에게 전송되어야 할 메시지 M을 암호화하여 사용자에게 전송하는데, 송신측의 암호화키 설정부(131)는 Zp 그룹에서 난수 s를 선택하여 메시지 암호화키 K를 다음과 같이 설정한다. K = e(h, gw)s.The message encryption / transmitter 13 encrypts the message M to be transmitted to the receiver users belonging to the set S and transmits the message M to the user. The encryption key setting unit 131 of the transmitter selects a random number s from the Z p group Set the message encryption key K as follows. K = e (h, g w ) s .

헤더 생성부(132)는 사용자들의 집합 S가 S1,…,S5의 부분집합으로 나누어지므로, 암호화 메시지의 헤더(Hdr)를 다음과 같이 생성한다.Header generation unit 132 is a set of users S is S 1 ,. Since it is divided into a subset of S 5 , the header Hdr of the encrypted message is generated as follows.

Figure 112008004127714-pat00006
Figure 112008004127714-pat00006

암호화 메시지 작성/브로드캐스팅부(133)는 대칭키 알고리즘을 이용하여 암호화키 K로 메시지 M을 암호화하여 암호문 CM을 작성하고, 암호문 CM에 사용자 집합(S)과 상기 헤더를 부가한 암호화 메시지를 작성하여 수신자(사용자)들에게 브로드캐스트 한다.Encrypting the message creation / broadcasting unit 133 creates a cipher text C M encrypts the message M with the encryption key K by using a symmetric key algorithm, and the cipher text C M user sets the (S) and the encrypted message added to said header Create and broadcast to recipients (users).

각 사용자 i의 단말에 있는 복호화 모듈은 정당한 사용자 집합 S에 속하는 수신자(사용자)가 수신한 암호문 CM을 복호화(decryption)한다.The decryption module in the terminal of each user i decrypts the cipher text C M received by the receiver (user) belonging to the legitimate user set S.

각 사용자(수신자) i는 부분집합 Su의 v번째 인덱스를 가지는 사용자이며, i=24인 사용자인 경우 비밀키가 d24 = (d24 ,1, d24 ,2, k24 ,1, k24 ,2, k24 ,3, k24 ,5)이고, 송신자로부터 받은 암호화 메시지의 Hdr = (A1,…,A5, B)이다. 여기서 d24,1은 상기한 h* (x5 * y4)r에, d24,2는 상기한 gr, k24,1은 상기한 y1 r에, k24,3은 상기한 y3 r에, k24 ,5는 상기한 y5 r에 각각 해당한다. 그리고 Hdr의 A1은 상기한 (x1 *

Figure 112008004127714-pat00007
)s 에, A5는 상기한 (x5 *
Figure 112008004127714-pat00008
)s 에, B는 상기한 gs에 각각 해당한다.Each user (receiver) i is the user with the v th index of the subset S u , and if i = 24, the secret key is d 24 = (d 24 , 1 , d 24 , 2 , k 24 , 1 , k 24,2 , k 24 , 3 , k 24 , 5 ), and Hdr = (A 1 ,..., A 5 , B) of the encrypted message received from the sender. Where d 24,1 is the above h * (x 5 * y 4 ) r , d 24,2 is the above g r , k 24,1 is the above y 1 r , and k 24,3 is y above In 3 r , k 24 , 5 correspond to y 5 r described above, respectively. And A 1 of Hdr is the above (x 1 *
Figure 112008004127714-pat00007
) s , A 5 is the above (x 5 *
Figure 112008004127714-pat00008
) s , B corresponds to g s described above, respectively.

각 사용자 i의 단말에 있는 복호화 모듈은 메시지 암호화/전송부(12)로부터 전송받은 암호화 메시지로부터 각 사용자 i에 대한 암호화키 K를 추출한다. i=24인 경우의 암호화키는 다음과 같이 추출된다.The decryption module in the terminal of each user i extracts an encryption key K for each user i from the encrypted message received from the message encryption / transmitter 12. The encryption key for i = 24 is extracted as follows.

Figure 112008004127714-pat00009
.
Figure 112008004127714-pat00009
.

여기서 e( , )는 상기 설정된 페어링 함수이다. 각 사용자 i의 단말에 있는 복호화 모듈은 추출된 암호화키 K로 대칭키 알고리즘을 이용하여 암호문 CM을 복호하여 메시지 M을 복호화한다. 즉, M=DK(CM).Where e (,) is the pairing function set above. The decryption module in the terminal of each user i decrypts the ciphertext C M using the extracted encryption key K using a symmetric key algorithm to decrypt the message M. That is, M = D K (C M ).

다음 표는 전송량, 저장량, 계산량 그리고 공개키 사이즈 측면에서 본 발명 의 성능을 BGW 기법과 비교하여 제시한 표이다. 총 사용자 수는 n(=a*b)명 이다. 먼저 표에서 나타난 기호를 설명하면 다음과 같다.The following table compares the performance of the present invention with BGW scheme in terms of throughput, storage, computation and public key size. The total number of users is n (= a * b). First, the symbols shown in the table are explained as follows.

G : G 그룹의 원소, r' = min(r1,…,ra), r : 사용자 그룹 내의 총 탈퇴자 수.G: elements of group G, r '= min (r 1 , ..., r a ), r: total number of leavers in the user group.

Figure 112008004127714-pat00010
Figure 112008004127714-pat00010

BGW-1, BGW-2는 상기한 BGW 기법의 두 가지 버전이다. 상기 표에 제시된 바와 같이 본 발명의 암호화 기법에 의한 암호문 전송량, 공개키 저장량과 공개키 사이즈는 BGW 기법에 의해 동일하거나 더욱 향상되었음을 알 수 있다.BGW-1 and BGW-2 are two versions of the BGW technique described above. As shown in the above table, it can be seen that the encrypted text transmission amount, public key storage amount and public key size by the encryption method of the present invention are the same or further improved by the BGW method.

본 방법발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.The present invention can also be embodied as computer readable code on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored.

컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like, and may be implemented in the form of a carrier wave (for example, transmission via the Internet) . The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

이제까지 본 발명에 대하여 그 바람직한 실시예를 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다.The present invention has been described above with reference to preferred embodiments thereof. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention.

그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 균등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the equivalent scope will be construed as being included in the present invention.

도 1 과 도 2는 본 시스템 발명의 바람직한 일실시예의 구성을 제시한 도면이다.1 and 2 show the configuration of a preferred embodiment of the present invention.

도 3은 본 방법 발명의 바람직한 일 흐름을 제시한 도면이다.3 is a view showing a preferred flow of the present invention.

Claims (11)

브로드캐스트 암호화 시스템 내의 전체 사용자들을 다수의 그룹으로 분할하고 상기 그룹의 수만큼의 난수와 상기 분할된 각 그룹에 속한 사용자의 수만큼의 난수를 발생시켜, 그룹 내의 정당한 수신권한이 있는 사용자에게 메시지를 암호화하여 브로드캐스팅을 할 때 사용할 공개키를 생성하고, 암호화된 메시지의 복호를 위한 비밀키를 생성하는 키 생성부;By dividing the entire users in the broadcast encryption system into a plurality of groups and generating a random number as many as the number of groups and as many as the number of users belonging to each divided group, a message is sent to a user who has a legitimate reception right in the group. A key generator for generating a public key for use in broadcasting by encrypting and generating a secret key for decrypting an encrypted message; 상기 공개키 및 비밀키를 그룹 내의 전체 사용자들에게 분배(브로드캐스팅)를 하는 키 분배부; 및A key distribution unit for distributing (broadcasting) the public and private keys to all users in the group; And 상기 브로드캐스팅을 하는 메시지를 암호화하여 메시지 수신자들에게 전송하는 메시지 암호화/전송부를 포함하는 브로드캐스트 암호화 시스템.And a message encryption / transmitter for encrypting the broadcast message and transmitting the encrypted message to message recipients. 제 1 항에 있어서, 상기 키 생성부는The method of claim 1, wherein the key generation unit 상기 공개키를 생성할 때 상기 전체 사용자들의 수만큼만 생성하는 것을 특징으로 하는 브로드캐스트 암호화 시스템.And generating only the total number of users when generating the public key. 제 2 항에 있어서, 상기 키 생성부는The method of claim 2, wherein the key generation unit 상기 비밀키를 상기 전체 사용자들 중 각 사용자에 대한 고유한 인덱스를 구하고, 상기 인덱스를 이용하여 비밀키를 생성하는 것을 특징으로 하는 브로드캐스트 암호화 시스템.And obtaining a unique index for each user among the entire users from the secret key, and generating a secret key using the index. 제 3 항에 있어서, 상기 메시지 암호화/전송부는The method of claim 3, wherein the message encryption / transmission unit 상기 브로드캐스팅을 하는 메시지의 암호화키를 생성하는 암호화키 생성부;An encryption key generation unit for generating an encryption key of the broadcasting message; 두 개의 상기 인덱스를 반영하여 헤더를 생성하는 헤더 생성부; 및A header generator for generating a header by reflecting the two indexes; And 상기 암호화키로 상기 브로드캐스팅을 할 메시지를 암호화한 암호문을 작성하고, 상기 암호문에 상기 헤더를 부가하여 상기 메시지 수신자들에게 브로드캐스팅을 하는 암호화 메시지 작성/브로드캐스팅부를 포함하는 것을 특징으로 하는 브로드캐스트 암호화 시스템.Broadcast encryption, characterized in that it comprises an encrypted message creation / broadcast unit for creating a cipher text encrypting the message to be broadcast with the encryption key, and adds the header to the cipher text to broadcast to the message recipients system. 제 1 항에 있어서,The method of claim 1, 상기 암호화된 메시지의 복호에는 상기 공개키가 필요 없는 것을 특징으로 하는 브로드캐스트 암호화 시스템.And the public key is not required to decrypt the encrypted message. (a)브로드캐스트 암호화 시스템 내의 전체 사용자들을 다수의 그룹으로 분할하고 상기 그룹의 수만큼의 난수와 상기 분할된 각 그룹에 속한 사용자의 수만큼의 난수를 발생시켜, 그룹 내의 정당한 수신권한이 있는 사용자에게 메시지를 암호화하여 브로드캐스팅을 할 때 사용할 공개키를 생성하는 단계;(a) dividing the entire users in the broadcast encryption system into a plurality of groups, generating random numbers as many as the number of groups and as many random numbers as the users belonging to each divided group, so that users with legitimate reception rights in the group Generating a public key for encrypting the message to use when broadcasting the message; (b)암호화된 메시지의 복호를 위한 비밀키를 생성하는 단계;(b) generating a secret key for decrypting the encrypted message; (c)상기 공개키 및 비밀키를 그룹 내의 전체 사용자들에게 분배(브로드캐스팅)를 하는 단계; 및(c) distributing (broadcasting) the public and private keys to all users in the group; And (d)상기 브로드캐스팅을 하는 메시지를 암호화하여 메시지 수신자들에게 전송하는 단계를 포함하는 브로드캐스트 암호화 방법.(d) encrypting the broadcasted message and transmitting the encrypted message to message receivers. 제 6 항에 있어서, 상기 (a)단계는The method of claim 6, wherein step (a) 상기 공개키를 상기 전체 사용자들의 수만큼만 생성하여 이루어지는 것을 특징으로 하는 브로드캐스트 암호화 방법.And generating the public key only as many as the total number of users. 제 7 항에 있어서, 상기 (b)단계는The method of claim 7, wherein step (b) 상기 전체 사용자들 중 각 사용자에 대한 고유한 인덱스를 구하고, 상기 인덱스를 이용하여 비밀키를 생성하는 것을 특징으로 하는 브로드캐스트 암호화 방법.And obtaining a unique index for each user among all the users, and generating a secret key using the index. 제 8 항에 있어서, 상기 (d)단계는The method of claim 8, wherein step (d) (d1)상기 브로드캐스팅을 할 메시지의 암호화키를 생성하는 단계;(d1) generating an encryption key of the message to be broadcast; (d2)두 개의 상기 인덱스를 반영하여 헤더를 생성하는 단계;(d2) generating a header by reflecting the two indexes; (d3)상기 암호화키로 상기 브로드캐스팅을 할 메시지를 암호화한 암호문을 작성하는 단계; 및(d3) creating a cipher text encrypting the message to be broadcast using the encryption key; And (d4)상기 암호문에 상기 헤더를 부가하여 상기 메시지 수신자들에게 브로드캐스팅을 하는 단계를 포함하는 것을 특징으로 하는 브로드캐스트 암호화 방법.and (d4) adding the header to the cipher text to broadcast the message to the receivers. 제 9 항에 있어서,The method of claim 9, 상기 암호화된 메시지의 복호에는 상기 공개키가 필요 없는 것을 특징으로 하는 브로드캐스트 암호화 방법.And the public key is not required to decrypt the encrypted message. 제 6 항 내지 제 10 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.A computer readable recording medium having recorded thereon a program for executing the method of claim 6 on a computer.
KR1020080005443A 2008-01-17 2008-01-17 System of Broadcast Encryption and Method thereof KR100975038B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080005443A KR100975038B1 (en) 2008-01-17 2008-01-17 System of Broadcast Encryption and Method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080005443A KR100975038B1 (en) 2008-01-17 2008-01-17 System of Broadcast Encryption and Method thereof

Publications (2)

Publication Number Publication Date
KR20090079465A KR20090079465A (en) 2009-07-22
KR100975038B1 true KR100975038B1 (en) 2010-08-11

Family

ID=41290651

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080005443A KR100975038B1 (en) 2008-01-17 2008-01-17 System of Broadcast Encryption and Method thereof

Country Status (1)

Country Link
KR (1) KR100975038B1 (en)

Cited By (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

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2578007B1 (en) * 2010-06-01 2020-04-15 Samsung Electronics Co., Ltd Securing group communication in a machine-to-machine communication environment
KR101357074B1 (en) * 2011-12-12 2014-02-05 고려대학교 산학협력단 Secure key establishment method using a key agreement mechanism based on PKI
KR101533422B1 (en) * 2013-06-21 2015-07-10 고려대학교 산학협력단 Broadcast encryption method and system
CN112603066A (en) * 2021-01-31 2021-04-06 葛金凤 Automatic traditional chinese medicine cabinet of closing cap

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060095077A (en) * 2005-02-25 2006-08-30 삼성전자주식회사 The hierarchial threshold tree-based broadcast encryption method
KR100746037B1 (en) 2006-02-28 2007-08-06 삼성전자주식회사 Method and apparatus for configuring key of groups included in domain
KR20070119335A (en) * 2006-06-15 2007-12-20 삼성전자주식회사 Method of allocating a key of user for broadcast encryption
KR20080004165A (en) * 2006-07-05 2008-01-09 삼성전자주식회사 Method for device authentication using broadcast encryption

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060095077A (en) * 2005-02-25 2006-08-30 삼성전자주식회사 The hierarchial threshold tree-based broadcast encryption method
KR100746037B1 (en) 2006-02-28 2007-08-06 삼성전자주식회사 Method and apparatus for configuring key of groups included in domain
KR20070119335A (en) * 2006-06-15 2007-12-20 삼성전자주식회사 Method of allocating a key of user for broadcast encryption
KR20080004165A (en) * 2006-07-05 2008-01-09 삼성전자주식회사 Method for device authentication using broadcast encryption

Cited By (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

Also Published As

Publication number Publication date
KR20090079465A (en) 2009-07-22

Similar Documents

Publication Publication Date Title
Boneh et al. Collusion resistant broadcast encryption with short ciphertexts and private keys
Du et al. An ID-based broadcast encryption scheme for key distribution
Boneh et al. A fully collusion resistant broadcast, trace, and revoke system
KR100737876B1 (en) The hierarchial threshold tree-based broadcast encryption method
Fazio et al. Outsider-anonymous broadcast encryption with sublinear ciphertexts
Hur et al. Privacy-preserving identity-based broadcast encryption
Lin et al. A collaborative key management protocol in ciphertext policy attribute-based encryption for cloud data sharing
US20100098253A1 (en) Broadcast Identity-Based Encryption
US8290154B2 (en) Methods and apparatuses for key generation, encryption and decryption in broadcast encryption
Park et al. Public key broadcast encryption schemes with shorter transmissions
Xu et al. Efficient ciphertext-policy attribute-based encryption with blackbox traceability
KR100975038B1 (en) System of Broadcast Encryption and Method thereof
Acharya Secure and efficient public key multi-channel broadcast encryption schemes
Mu et al. Robust and secure broadcasting
KR101373577B1 (en) Apparatus of id based dynamic threshold encryption and method thereof
Zhang et al. Efficient and adaptively secure broadcast encryption systems
Muthulakshmi et al. Identity based privacy preserving dynamic broadcast encryption for multi-privileged groups
Kuribayashi et al. Fingerprinting for multimedia content broadcasting system
Guo et al. Authenticated public key broadcast encryption with short ciphertexts
KR101507340B1 (en) Aparatus for broadcast encryption and broadcast decryption and method for the same
KR101727691B1 (en) Server and system for identity-based revocation
KR101306211B1 (en) Method for broadcast encryption based on identification number
Zhao et al. Traitor tracing against public collaboration
Wang et al. Sender-Anamorphic Encryption Reformulated: Achieving Robust and Generic Constructions
an Wang et al. Identity based broadcast encryption based on one to many identity based proxy re-encryption

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130621

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140630

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151103

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee