KR101695361B1 - Terminology encryption method using paring calculation and secret key - Google Patents

Terminology encryption method using paring calculation and secret key Download PDF

Info

Publication number
KR101695361B1
KR101695361B1 KR1020150133363A KR20150133363A KR101695361B1 KR 101695361 B1 KR101695361 B1 KR 101695361B1 KR 1020150133363 A KR1020150133363 A KR 1020150133363A KR 20150133363 A KR20150133363 A KR 20150133363A KR 101695361 B1 KR101695361 B1 KR 101695361B1
Authority
KR
South Korea
Prior art keywords
secret key
key
message
generating
recipient
Prior art date
Application number
KR1020150133363A
Other languages
Korean (ko)
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 KR1020150133363A priority Critical patent/KR101695361B1/en
Application granted granted Critical
Publication of KR101695361B1 publication Critical patent/KR101695361B1/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/0825Key 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) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)

Abstract

Disclosed is a terminology encryption method using pairing calculation and a private key. A terminology encryption method using pairing calculation and a private key according to an embodiment of the present invention comprises the steps of: setting up a system adapted to generate a bilinear pairing map, a master private key, and a public parameter; generating private keys for a transmitter and a receiver, and distributing the private keys; encrypting a broadcast message by using a set of attributes of the receiver and the public parameter so that the encrypted broadcast message can be decrypted by the receiver, and transmitting the encrypted broadcast message; and decrypting the received broadcast message by using a private key corresponding to a terminology set of the receiver.

Description

페어링 연산 및 비밀키를 이용한 술어 암호화 방법{TERMINOLOGY ENCRYPTION METHOD USING PARING CALCULATION AND SECRET KEY}[0001] DESCRIPTION [0002] PERSONNELOGY ENCRYPTION METHOD USING PING CALCULATION AND SECRET KEY [

본 발명은 복잡한 네트워크 환경에서 적합한 술어 암호화 방법에 관한 것으로, 보다 구체적으로는 페어링 연산 및 비밀키를 이용하여 술어를 암호화하는 방법에 관한 것이다. BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method and a method for encrypting a predicate using a pairing operation and a secret key in a complicated network environment.

복잡한 네트워크 환경에서 메시지를 주고 받음에 따라, 술어 암호(terminology encryption)에 관한 연구가 활발하게 이루어지고 있다. 일반적으로 술어 암호의 경우, 암호문이 어떤 속성을 요구하는지 또는 어떤 속성에 대하여 복호화가 가능한지가 명시되어 있다. As messages are exchanged in a complex network environment, studies on terminology encryption have been actively conducted. Generally, for predicate ciphers, it specifies which attributes the ciphertext requires or which attributes can be decrypted.

여기서, 암호문의 속성이란, 암호문을 복호화하는 사용자가 갖춰야 할 특성, 예를 들면 이름, 소속, 권한 등을 기술한 것을 의미한다. 이로 인해, 메시지를 복호화를 하지 못한다 하더라도 암호화 속성이 공개되어 있으므로 암호화된 메시지가 무엇인지는 알 수 없더라도, 간접적인 정보는 알 수 있다. Here, the attribute of the cipher text means a description of characteristics to be provided by the user who decrypts the cipher text, for example, name, affiliation, authority, and the like. Thus, even if the message can not be decrypted, since the encryption attribute is disclosed, indirect information can be known even if it is unknown what the encrypted message is.

따라서, 외부망을 통해 전달된 메시지나 정보가 암호화된 경우라도 내부망에서 여러 경로의 수신자에게 전달되는 과정에서 암·복호화에 관련된 속성(수신자 이름, 직위, 소속 등)이 노출될 수 있다. 이에, 해커 등의 공격자는 이러한 속성을 비롯한 간접적인 정보를 축적하여 해석함으로써, 실질적으로 암호화된 메시지를 유추해내거나 알 수 있다. 따라서, 메시지 내용뿐만 아니라 복호화하는데 요구되는 속성 정보를 숨겨야 비로소 안전하다고 할 수 있다.Therefore, even if the message or information transmitted through the external network is encrypted, attributes related to the encryption / decryption (recipient name, title, affiliation, etc.) may be exposed in the process of being transmitted to the recipients of various paths in the internal network. Thus, an attacker such as a hacker can accumulate and interpret indirect information including these attributes to infer or understand a substantially encrypted message. Therefore, not only message content but also attribute information required for decoding can be safely stored.

한편, 술어 암호화에 관한 개념은 Katz, Sahai, Waters에 의해서 소개된 이후 다양한 술어 암호화 기법이 제안되었다. 이러한 술어 암호화 기법은, 속성 집합에 하나의 메시지를 암호화하여 안전하게 전송하되, 정당한 사용자만이 암호문을 풀 수 있도록 하는 것이다. 이때, 올바른 술어를 가지고 있지 않는 사용자들이 담합하여 공격을 하여도 암호문에 대한 어떤 평문 정보도 얻을 수 없어야 할 것이다. On the other hand, since the concept of predicate encryption was introduced by Katz, Sahai, and Waters, various predicate encryption schemes have been proposed. This predicate encryption scheme encrypts one message in an attribute set and transmits it securely, but only a legitimate user can decrypt the ciphertext. At this time, users who do not have the correct predicate should collide and attack, and no plaintext information about the ciphertext should be obtained.

그 이후로도 많은 술어 암호화 기법이 제안되었는데, 특히 Takashima 그룹에 의해서 제안된 것은 Dual Pairing Vector Spaces 개념을 이용하여 높은 안전성을 가지는 기법이다. 하지만 Dual Pairing Vector Spaces 자체는 시간면에서 비효율적인데, 특히 공개키, 비밀키, 암호문, 암호화 및 복호화의 계산량 등이 속성의 차원의 수에 비례하여 선형적으로 증가하는 문제점이 있다. Many predicate encryption schemes have been proposed since then. Especially, the proposed scheme by Takashima group is a high security scheme using the concept of Dual Pairing Vector Spaces. However, Dual Pairing Vector Spaces itself is inefficient in terms of time. In particular, there is a problem that the number of public keys, secret keys, ciphertexts, encryption and decryption are linearly increased in proportion to the number of dimensions of the attribute.

기존의 술어 암호화 기법들은 증명상의 안전성을 높이는데 중점을 두고 개발이 되었다. 그에 따라, 암호화 속성의 차원의 수에 비례하는 만큼의 타원곡선상의 지수 연산을 요구하거나, 키를 저장해야 하거나, 다량의 통신량이 발생되는 문제가 있었다. 이것은 술어 기반 암호화 기법을 활용한 실제적인 애플리케이션 개발에도 영향을 미치게 된다. Conventional predicate encryption techniques have been developed with an emphasis on enhancing the security of the proof. Accordingly, there has been a problem that an exponential operation on an elliptic curve proportional to the number of dimensions of a cryptographic attribute is required, a key must be stored, or a large amount of communication is generated. This also impacts actual application development using predicate-based cryptography.

이에, 본 발명의 실시예들은, 메시지를 빠르게 암호화 및 복호화할 수 있으며, 낮은 통신량을 요구하는 술어 암호화 방법을 제공하는데 그 목적이 있다. Accordingly, it is an object of the present invention to provide a predicate encryption method which can encrypt and decrypt a message quickly and requires a low communication amount.

또한, 본 발명의 실시예들은 암호화의 속성을 숨김으로써, 제3자가 암호화된 메시지의 내용뿐만 아니라 메시지와 관련된 간접정보도 유추할 수 없도록 구현한 술어 암호화 방법을 제공하는 데 다른 목적이 있다. It is another object of the present invention to provide a method of encrypting a predicate by hiding an attribute of encryption so that a third party can not infer not only the content of the encrypted message but also the indirect information related to the message.

이를 위해, 본 발명의 실시예에 따른 술어 암호화 방법은, 바이리니어 페이링 맵(Bilinear pairing map) 생성, 마스터 비밀키 및 공개 파라미터를 생성하는 시스템을 셋업하는 단계와; 송신자 및 수신자에 대한 비밀키를 생성하여 분배하는 단계와; 수신자가 브로드캐스트 메시지를 복호화할 수 있도록, 수신자의 속성 집합과 공개 파라미터를 이용하여 브로드캐스트 메시지를 암호화 및 전송하는 단계와; 그리고, 수신자의 술어 집합에 해당하는 비밀키를 이용하여 상기 수신된 브로드캐스트 메시지를 복호화하는 단계;를 포함하여 이루어진다.To this end, a predicate encryption method according to an embodiment of the present invention includes: setting up a system for generating a bilinear pairing map, generating a master secret key and a public parameter; Generating and distributing a secret key for the sender and the receiver; Encrypting and transmitting a broadcast message using a set of attributes and a public parameter of the recipient so that the receiver can decode the broadcast message; And decrypting the received broadcast message using a secret key corresponding to a set of predicates of the receiver.

일 실시 예에서, 상기 셋업 단계는, 비대칭 바이리니어 페이링 맵(Bilinear pairing map) 그룹을 선택하는 단계와; 타원곡선의 서브그룹의 생성자를 선택하여,

Figure 112015091944906-pat00001
를 산출한 다음, 공개 파라미터 및 마스터 비밀 키를 생성하는 단계를 더 포함하는 것을 특징으로 한다.In one embodiment, the step of setting comprises: selecting a group of asymmetric bilinear pairing maps; By selecting the generator of the subgroup of elliptic curves,
Figure 112015091944906-pat00001
, And then generating a public parameter and a master secret key.

일 실시 예에서, 상기 분배하는 단계는, 키분배 센터에 의하여, 상기 마스터 비밀 키와 수신자의 술어 집합에 대하여

Figure 112015091944906-pat00002
를 산출한 다음, 비밀 키를 생성하는 단계와; 생성된 비밀키를 송신자 및 수신자에게 전송하는 단계;를 더 포함하는 것을 특징으로 한다.In one embodiment, the distributing step comprises the steps of: distributing, by the key distribution center, the master secret key and the set of predicates of the recipient
Figure 112015091944906-pat00002
And then generating a secret key; And transmitting the generated private key to the sender and the receiver.

일 실시 예에서, 메시지를 암호화 및 전송하는 단계는, 임의의 난수를 선택한 후, 공개 파라미터를 이용하여 메시지 암호화 키를 생성하는 단계와; 공개 파라미터와 수신자의 속성 집합을 이용하여 암호문을 생성하는 단계를 더 포함하는 것을 특징으로 한다.In one embodiment, the step of encrypting and transmitting a message comprises the steps of generating a message encryption key using a public parameter after selecting any random number; And generating a cipher text using the public parameter and the attribute set of the receiver.

일 실시 예에서, 상기 생성된 암호문은,

Figure 112015091944906-pat00003
,
Figure 112015091944906-pat00004
,
Figure 112015091944906-pat00005
인 것을 특징으로 한다.In one embodiment,
Figure 112015091944906-pat00003
,
Figure 112015091944906-pat00004
,
Figure 112015091944906-pat00005
.

일 실시 예에서, 메시지를 복호화하는 단계는, 수신자의 술어 집합 및 암호문을 이용하여

Figure 112015091944906-pat00006
를 산출하는 단계와; 수신자의 비밀키와 상기 D0, 및 암호문을 이용하여,
Figure 112015091944906-pat00007
를 산출하는 단계와; 상기 K- 1를 이용하여 복호화된 평문
Figure 112015091944906-pat00008
를 획득하는 단계;를 더 포함하는 것을 특징으로 한다.In one embodiment, the step of decrypting the message comprises using a set of predicates and a cipher text of the recipient
Figure 112015091944906-pat00006
; Using the secret key of the receiver, the D 0 , and the cipher text,
Figure 112015091944906-pat00007
; The plaintext decrypted using the K - 1
Figure 112015091944906-pat00008
The method comprising the steps of:

또한, 본 발명의 실시 예에 따른 술어 암호화 방법은, 메시지의 송신자 및 수신자가 공유할 공개 파라미터 및 마스터 비밀키를 계산하는 단계와; 수신자의 술어 집합에 대한 제1난수, 공개 파라미터, 마스터 비밀키를 이용하여 비밀키를 생성하는 단계와; 수신자의 속성 집합에 대한 제2난수, 공개 파라미터를 이용하여 메시지 암호화 키를 생성하고 정당한 사용자에게 전송하는 단계와; 메시지의 송신자가 상기 메시지 암호화 키를 이용하여 메시지를 암호화하여 암호문을 생성하는 단계와; 생성된 암호문이 수신자에게 수신되면, 비밀키를 이용하여 암호문을 복호화하여 문을 획득하는 단계;를 포함하여 이루어질 수 있다.Also, a predicate encryption method according to an embodiment of the present invention includes: calculating a public parameter and a master secret key to be shared by a sender and a receiver of a message; Generating a secret key using a first random number, a public parameter, and a master secret key for a set of predicates of a receiver; Generating a message encryption key using a second random number and a public parameter for the attribute set of the receiver, and transmitting the message encryption key to a legitimate user; The sender of the message encrypts the message using the message encryption key to generate a cipher text; And if the generated ciphertext is received by the recipient, decrypting the ciphertext using the secret key to obtain a statement.

이상, 본 발명의 실시예에 따른 술어 암호화 방법에 의하면, 암호화 및 복호화 과정에서 필요한 페어링 연산 횟수, 키(key)의 크기가 상수값을 가지므로 빠른 계산 및 낮은 통신량이 요구되는 효과가 제공된다. 그에 따라, 다양한 권한을 가지는 사용자 및 장치로 구성된 네트워크 환경에서 보다 효율적이고 안전한 통신 애플리케이션의 개발에 제공될 수 있다.As described above, according to the predicate encryption method according to the embodiment of the present invention, since the number of times of pairing operations and keys required in the encryption and decryption processes have constant values, fast computation and low traffic volume are required. And thus can be provided for the development of a more efficient and secure communication application in a network environment composed of users and devices having various rights.

또한, 본 발명의 실시예에 따른 술어 암호화 방법에 의하면, 설정된 조건을 만족하는 사용자 또는 장치만 복호화 가능하도록 함에 따라, 암호문의 속성이 네트워크 환경하에서도 무방비로 노출되지 않는다. 그에 따라, 효율적이면서도 안정성이 높은 효과가 제공된다. In addition, according to the predicate encryption method according to the embodiment of the present invention, since only a user or a device satisfying a set condition can be decrypted, the attribute of the cipher text is not exposed in an unprotected manner even in a network environment. As a result, an efficient and highly stable effect is provided.

도 1은 본 발명의 일 실시 예에 따라, 페어링 연산 및 비밀키를 이용하여 술어를 암호화하는 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 일 실시 예에 따른 술어 암호화 방법의 세부 구성을 이해하기 쉽게 도시한 도면이다.
1 is a flowchart illustrating a method of encrypting a predicate using a pairing operation and a secret key according to an embodiment of the present invention.
FIG. 2 is a diagram for easily understanding the detailed configuration of a predicate encryption method according to an embodiment of the present invention.

먼저, 본 발명의 실시예는 네트워크 환경 등에서 술어의 암호화가 적용되는 모든 환경에 적용될 수 있음을 미리 밝혀둔다First, it is revealed beforehand that the embodiment of the present invention can be applied to all environments where encryption of a predicate is applied in a network environment or the like

또한, 본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. In addition, the present invention is capable of various modifications and various embodiments, and specific embodiments are illustrated in the drawings and described in detail in the detailed description. It is to be understood, however, that the invention is not to be limited to the specific embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

여기서 설명되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 즉, 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항복들 중의 어느 항목을 포함한다.Terms including ordinals such as first, second, etc. described herein can be used to describe various elements, but the elements are not limited to these terms. That is, the terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. The term " and / or " includes any combination of a plurality of related listed items or any of a plurality of related listed yields.

또한, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.Also, when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, but other elements may be present in between have. On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.

또한, 본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Also, the terms used in the present application are used only to describe certain embodiments and are not intended to limit the present invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, Should not be construed to preclude the presence or addition of one or more other features, integers, steps, operations, elements, parts, or combinations thereof.

또한, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Also, unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.

이하, 첨부한 도면들을 참조하여 본 발명에 바람직한 실시 예들을 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어 도면 부호에 상관없이 동일하거나 대응하는 구성요소는 동일한 참조번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. The description will be omitted.

본 발명은 네트워크 환경에서 주고받는 메시지를 빠르게 암호화 및 복호화할 수 있으며, 낮은 통신량을 요구하는 술어 암호화 방법을 제시하였다. 또, 암호문의 속성을 숨김으로써, 제3자가 암호화된 메시지의 내용뿐만 아니라 메시지와 관련된 간접정보도 유추할 수 없도록 구현하였다.The present invention proposes a predicate encryption method which can encrypt and decrypt a message exchanged in a network environment and requires a low communication amount. In addition, by hiding the attributes of the ciphertext, the third party can implement not only the contents of the encrypted message but also the indirect information related to the message.

본 발명의 실시 예에 따른 술어 암호화 방법은, 크게 시스템 셋업, 키 생성 및 분배, 암호화, 및 복호화로 구성된다.The predicate encryption method according to the embodiment of the present invention largely comprises system setup, key generation and distribution, encryption, and decryption.

먼저 도 1을 참조하면, 도시된 바와 같이, 본 발명의 일 실시 예에 따른 술어 암호화 방법은, 시스템을 셋업하는 과정(S10), 사용자 키를 생성하고 분배하는 과정(S20), 그런 다음 메시지를 암호화하는 과정(S30), 그리고 암호화된 메시지가 수신되면, 수신된 메시지를 복호화하는 과정(S40)로 이루어진다. 각 단계에 대한 보다 구체적인 설명은 다음과 같다.Referring to FIG. 1, a predicate encryption method according to an exemplary embodiment of the present invention includes a step of setting up a system (S10), a step of generating and distributing a user key (S20) (S30), and when the encrypted message is received, decrypting the received message (S40). A more detailed explanation of each step is as follows.

(1) 시스템을 셋업하는 과정(1) The process of setting up the system

먼저, 키분배 센터는 다음과 같이 바이리니어 맵(bilinear map) 그룹 시스템을 선택한다.First, the key distribution center selects the bilinear map group system as follows.

Figure 112015091944906-pat00009
Figure 112015091944906-pat00009

여기서 p는 소수이고, G1과, G2는 타원곡선의 서브그룹이고, GT는 확장체의 서브그룹을 의미한다. 그리고,

Figure 112015091944906-pat00010
Figure 112015091944906-pat00011
를 만족하는 비대칭적 바이리니어 맵(asymmetric bilinear map)이다. Where p is a prime number, G 1 and G 2 are subgroups of elliptic curves, and G T is a subgroup of extensions. And,
Figure 112015091944906-pat00010
The
Figure 112015091944906-pat00011
(Asymmetric bilinear map).

이와 같이 바이리니어 맵(bilinear map)의 선택이 완료되면, 타원곡선의 서브그룹인 G1의 생성자(generator) g와, G2의 생성자 h, 그리고 임의의 난수

Figure 112015091944906-pat00012
를 선택한다. Thus, When the selection is completed, the bilinear map (bilinear map), in the elliptic curve subgroup G 1 constructor (generator) g, and the generator G 2 h, and any random number
Figure 112015091944906-pat00012
.

다음,

Figure 112015091944906-pat00013
를 계산한다. next,
Figure 112015091944906-pat00013
.

이때,

Figure 112015091944906-pat00014
는 공개 파라미터이고, 마스터 비밀키는
Figure 112015091944906-pat00015
이 된다.At this time,
Figure 112015091944906-pat00014
Is the public parameter, and the master secret key is
Figure 112015091944906-pat00015
.

(2)사용자 키를 생성하고 분배하는 과정(2) a process of generating and distributing a user key

시스템의 셋업이 완료되면, 키분배 센터는 위에서 생성된 마스터 비밀키와 공개 파라미터, 그리고 사용자의 술어 집합

Figure 112015091944906-pat00016
에 대해서 임의의 난수
Figure 112015091944906-pat00017
을 선택할 수 있다. When the system setup is complete, the key distribution center generates the master secret key and the public parameters generated above, and the user's predicate set
Figure 112015091944906-pat00016
Lt; RTI ID = 0.0 >
Figure 112015091944906-pat00017
Can be selected.

그런 다음, 이하의 수학식 1을 이용하여 비밀키

Figure 112015091944906-pat00018
를 생성할 수 있다.Then, using the following equation (1), the secret key
Figure 112015091944906-pat00018
Lt; / RTI >

Figure 112015091944906-pat00019
Figure 112015091944906-pat00019

이와 같이 생성된 비밀키와 술어 집합은 정당한 사용자에게 안전하게 전송된다. 여기서, 생성된 비밀키를 정당한 사용자, 즉 메시지의 송신자 및 수신자에게 안전하게 전송하는 방법은, 예를 들어 정당한 사용자가 키분배 센터에 방문하여 신분증을 제시하고 직접 키를 발급받거나 기타 응용에 따라 다양한 방법이 가능하다.The generated secret key and the set of predicates are securely transmitted to legitimate users. Here, the method for securely transmitting the generated secret key to a legitimate user, that is, a sender and a receiver of a message may be a method in which a legitimate user visits a key distribution center to present an identification card, receives a direct key, This is possible.

이후, 메시지를 암호화 및 복호화하는 과정은 다음과 같다.Hereinafter, a process of encrypting and decrypting a message will be described.

(3) 메시지를 암호화하는 과정(3) The process of encrypting a message

메시지의 암호화는 수신자의 속성 집합과 공개 파라미터를 이용하여 이루어진다.The encryption of the message is done using the attribute set of the recipient and the public parameters.

먼저, 메시지를 보내고자 하는 수신자의 속성 집합을

Figure 112015091944906-pat00020
이라고 할 경우, 송신자는 선택된 공개 파라미터를 이용해 다음과 같이 암호문을 생성할 수 있다.First, set the attribute set of the recipient to whom you want to send the message.
Figure 112015091944906-pat00020
, The sender can generate a cipher text using the selected public parameter as follows.

이때, 임의의 난수

Figure 112015091944906-pat00021
을 선택한 다음, 선택된 공개 파라미터를 이용하여 이하의 수학식 2를 계산할 수 있다. 그러면, 헤더
Figure 112015091944906-pat00022
가 생성된다.At this time,
Figure 112015091944906-pat00021
And then calculates the following equation (2) using the selected public parameter. Then,
Figure 112015091944906-pat00022
Is generated.

Figure 112015091944906-pat00023
Figure 112015091944906-pat00023

그리고, 이하의 수학식 3을 이용하여, 메시지 암호화 키 K를 계산할 수 있다. Then, the message encryption key K can be calculated using the following equation (3).

Figure 112015091944906-pat00024
Figure 112015091944906-pat00024

그런 다음, 산출된 K를 이용하여 송신하고자 하는 메시지 M을 암호화하여

Figure 112015091944906-pat00025
을 생성한다. 그리고, 암호문
Figure 112015091944906-pat00026
을 각 수신자에게 전송한다. Then, the message M to be transmitted is encrypted using the calculated K
Figure 112015091944906-pat00025
. Then,
Figure 112015091944906-pat00026
To each recipient.

(4) 메시지를 복호화하는 과정(4) The process of decrypting the message

암호화된 메시지가 브로드캐스트되면, 수신자 자신의 술어 집합에 대응되는 비밀 키를 이용하여 복호화가 이루어진다. When the encrypted message is broadcast, decryption is performed using the secret key corresponding to the receiver's own set of predicates.

Figure 112015091944906-pat00027
인 술어 집합
Figure 112015091944906-pat00028
을 가지는 수신자가 전송받은 메시지를 복호화하는 과정은 다음과 같다.
Figure 112015091944906-pat00027
In predicate set
Figure 112015091944906-pat00028
The process of decrypting a message received by a receiver having the above-described structure is as follows.

먼저, 사용자는 자신의 술어 집합

Figure 112015091944906-pat00029
과 암호문
Figure 112015091944906-pat00030
을 이용하여 다음의 수학식 4를 계산할 수 있다.First, the user sets his predicate set
Figure 112015091944906-pat00029
And ciphertext
Figure 112015091944906-pat00030
The following equation (4) can be calculated.

Figure 112015091944906-pat00031
Figure 112015091944906-pat00031

그런 다음, 사용자 자신의 비밀키

Figure 112015091944906-pat00032
와 위에서 계산한 D0, 암호문 c1, c3를 이용해서 다음의 수학식 5를 계산한다.Then, the user's own private key
Figure 112015091944906-pat00032
The following equation (5) is calculated using D 0 calculated above and cipher texts c 1 and c 3 .

Figure 112015091944906-pat00033
Figure 112015091944906-pat00033

그리고, 산출된 K- 1를 이용하여 c0로부터 메시지를 복호화하여 다음과 같이 평문 M'을 추출할 수 있다.Then, the message can be decoded from c 0 using the calculated K - 1 , and the plaintext M 'can be extracted as follows.

Figure 112015091944906-pat00034
Figure 112015091944906-pat00034

한편, 위에서 사용된 속성 벡터와 술어 벡터는 다음과 같이 생성할 수 있다. 여기서는, 술어와 속성이 일치할 때만 복호화가 수행되도록 설정된 시스템이라고 가정하자. On the other hand, the attribute vector and predicate vector used above can be generated as follows. Suppose here that the system is set to perform decoding only when the predicate and attribute match.

예를 들어, 두 개의 속성 x1, x2에 대해서 두 개의 술어 v1, v2 가 각각 일치하는지를 표현하고 싶다면 속성은

Figure 112015091944906-pat00035
로 표현하면 되고, 술어는
Figure 112015091944906-pat00036
로 표현하면 된다. For example, if you want to express whether two predicates v 1 and v 2 match for two properties x 1 and x 2 ,
Figure 112015091944906-pat00035
And the predicate is
Figure 112015091944906-pat00036
.

이때, 속성 벡터와 술어 벡터를 내적하면

Figure 112015091944906-pat00037
로 계산된다. 그리고, 가정에 따라
Figure 112015091944906-pat00038
일 때만 0이 되어 복호화된다.At this time, if the attribute vector and the predicate vector are internalized
Figure 112015091944906-pat00037
. And, depending on the assumption
Figure 112015091944906-pat00038
0 " is decoded.

이하, 도 2는 본 발명의 일 실시 예에 따른 술어 암호화 방법의 세부 구성을 이해하기 쉽게 도시한 도면이다.Hereinafter, FIG. 2 is a diagram for better understanding the detailed configuration of a predicate encryption method according to an embodiment of the present invention.

도시된 바와 같이, (1)시스템 셋업 단계에서는, 암호키 시스템을 공개하고 파라미터를 선택한다. 또, 마스터 비밀키를 선택한 다음 공개 파라미터를 공개한다. (2)키 생성 및 분배 단계에서는, 사용자의 술어 집합에 대하여 비밀키를 생성한 다음 이를 정당한 사용자에게 전송한다. 이를 통해, (3)메시지를 암호화하는 단계에서는, 먼저 속성 집합을 선택하여 난수를 생성하고, 세션 키를 생성하여 메시지를 암호화 및 전송한다. 그리고, (5)암호화된 메시지를 복호화하는 단계는, 분배받은 비밀키를 이용하여 세션키를 추출하고, 그런 다음 세션키를 이용하여 암호문을 복호화한다. 그에 따라, 술어의 빠른 암호화 및 복호화가 가능하고 암호문의 속성은 숨겨진다.As shown, (1) in the system setup step, the cryptographic key system is disclosed and parameters are selected. Also, select the master secret key and then publish the public parameters. (2) In the key generation and distribution step, a secret key is generated for a user's predicate set and then transmitted to a legitimate user. (3) In the step of encrypting a message, first, a random number is generated by selecting an attribute set, and a session key is generated to encrypt and transmit the message. (5) The step of decrypting the encrypted message extracts the session key using the distributed secret key, and then decrypts the encrypted message using the session key. As a result, the predicate can be quickly encrypted and decrypted, and the attributes of the ciphertext are hidden.

이상에서 설명한 바와 같이, 본 발명의 실시예들에 따르면, 술어의 암호화 및 복호화 과정에서 필요한 페어링 연산 횟수, 키(key)의 크기가 상수값을 가지므로 빠른 계산 및 낮은 통신량이 요구되는 효과가 제공된다. 그에 따라, 다양한 권한을 가지는 사용자 및 장치로 구성된 네트워크 환경에서 보다 효율적이고 안전한 통신 애플리케이션의 개발에 제공될 수 있다. 또한, 설정된 조건을 만족하는 사용자 또는 장치만 메시지를 복호화할 수 있도록 함에 따라, 암호문의 속성이 네트워크 환경하에서도 무방비로 노출되지 않는다. 그에 따라, 효율적이면서도 안정성이 높은 효과가 제공된다. As described above, according to the embodiments of the present invention, since the number of times of pairing operation and key required in the process of encrypting and decrypting a predicate has a constant value, a fast calculation and a low traffic amount are required do. And thus can be provided for the development of a more efficient and secure communication application in a network environment composed of users and devices having various rights. In addition, since only a user or a device satisfying a set condition can decrypt a message, the attribute of the cipher text is not exposed to unprotected even in a network environment. As a result, an efficient and highly stable effect is provided.

또한, 이상에서는 본 발명의 바람직한 실시 예를 예시적으로 설명하였으나, 본 발명의 범위는 이와 같은 특정 실시 예에만 한정되는 것은 아니므로, 본 발명은 본 발명의 사상 및 특허청구범위에 기재된 범주 내에서 다양한 형태로 수정, 변경, 또는 개선될 수 있다. 또한, 여기에서 기술된 본 발명에 따른 방법은 소프트웨어, 하드웨어, 또는 이들의 조합으로 구현될 수 있다. 예를 들어, 본 발명에 따른 방법은 저장매체(예, 단말내부 메모리, 플래쉬 메모리, 하드디스크, 등)에 저장될 수 있고, 프로세서(예, 단말 내부 마이크로 프로세서)에 의해 실행될 수 있는 소프트웨어 프로그램 내에 포함되는 코드들 또는 명령어들로 구현될 수 있다. While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is clearly understood that the same is by way of illustration and example only and is not to be taken by way of limitation, And may be modified, changed, or improved in various forms. Further, the method according to the present invention described herein can be implemented in software, hardware, or a combination thereof. For example, a method according to the present invention may be stored in a software program that can be stored in a storage medium (e.g., terminal internal memory, flash memory, hard disk, etc.) and executed by a processor May be implemented with embedded codes or instructions.

Claims (7)

키분배 센터에 의하여, 바이리니어 페이링 맵(Bilinear pairing map) 생성, 마스터 비밀키 및 공개 파라미터를 생성하는 시스템을 셋업하는 단계;
키분배 센터에 의하여, 송신자 및 수신자에 대한 비밀키를 생성하여 분배하는 단계;
송신자 단말에서, 수신자가 브로드캐스트 메시지를 복호화할 수 있도록, 수신자의 속성 집합과 공개 파라미터를 이용하여 브로드캐스트 메시지를 암호화 및 전송하는 단계; 및
수신자 단말에서, 수신자 자신의 술어 집합에 해당하는 비밀키를 이용하여 상기 수신된 브로드캐스트 메시지를 복호화하는 단계;를 포함하고,
여기서, 상기 셋업하는 단계는,
비대칭 바이리니어 페어링 맵(Bilinear pairing map) 그룹인,
Figure 112016111062833-pat00049
을 선택하는 단계, 여기서 G1, G2는 타원곡선의 서브그룹이고, GT는 확장체의 서브그룹이고; 및
상기 타원곡선의 서브그룹에서, G1의 생성자인 g와 G2의 생성자인 h와, 임의의 난수인
Figure 112016111062833-pat00050
를 선택하여, 다음,
Figure 112016111062833-pat00051
를 산출한 다음, 공개 파라미터 및 마스터 비밀 키를 생성하는 단계를 더 포함하고,
여기서, 상기 공개 파라미터는,
Figure 112016111062833-pat00052
이고, 상기 마스터 비밀키는
Figure 112016111062833-pat00053
이고,
상기 분배하는 단계는,
키분배 센터에 의하여, 상기 마스터 비밀 키와, 공개 파라미터와, 수신자의 술어 집합인
Figure 112016111062833-pat00054
에 대하여 임의의 난수
Figure 112016111062833-pat00055
을 선택하고, 다음의 수학식
Figure 112016111062833-pat00056

를 이용하여 비밀 키
Figure 112016111062833-pat00057
를 생성하는 단계; 및
생성된 비밀키를 술어 집합
Figure 112016111062833-pat00058
Figure 112016111062833-pat00059
을 만족하는 비밀키를 요청한 수신자에게만 전송하는 단계;를 포함하고,
메시지를 암호화 및 전송하는 단계는,
공개 파라미터와 수신자들을 나타내는 속성 집합인
Figure 112016111062833-pat00060
와 임의의 난수
Figure 112016111062833-pat00061
, 및 선택된 공개 파라미터를 이용하여 다음의 수학식
Figure 112016111062833-pat00062

을 산출하고, 이를 기초로 헤더
Figure 112016111062833-pat00063
을 생성하는 단계와,
메시지 암호화 키 K를 수학식
Figure 112016111062833-pat00064
을 이용하여 산출하는 단계와,
암호화 키 K를 이용하여, 송신하고자 하는 메시지 M을 암호화하여
Figure 112016111062833-pat00065
을 생성하고, 이를 기초로 암호문인
Figure 112016111062833-pat00066
을 수신자 단말로 전송하는 단계를 포함하고,
여기서 상기 암호화 키 K와 상기 암호문 C는 서로 연관되도록 동일한 상기 임의의 난수 s를 사용하여 이루어지는 것을 특징으로 하는 술어 암호화 방법.
Establishing, by a key distribution center, a system for generating a bilinear pairing map, generating a master secret key and an open parameter;
Generating and distributing a secret key for a sender and a receiver by a key distribution center;
Encrypting and transmitting a broadcast message in a sender terminal using a property set and a public parameter of a receiver so that a receiver can decode the broadcast message; And
And decrypting the received broadcast message using a secret key corresponding to the set of predicates of the recipient at the recipient terminal,
Here, the step of setting up,
Asymmetric bilinear pairing map group,
Figure 112016111062833-pat00049
, Wherein G 1 , G 2 are subgroups of elliptic curves, and G T is a subgroup of extensions; And
In the subgroup of the elliptic curve, g, which is a generator of G 1 , h, which is a generator of G 2 ,
Figure 112016111062833-pat00050
And then,
Figure 112016111062833-pat00051
And then generating a public parameter and a master secret key,
Here,
Figure 112016111062833-pat00052
, And the master secret key
Figure 112016111062833-pat00053
ego,
Wherein the distributing comprises:
By the key distribution center, the master secret key, the public parameters, and the set of predicates of the recipient
Figure 112016111062833-pat00054
A random number
Figure 112016111062833-pat00055
And the following equation
Figure 112016111062833-pat00056

Using the secret key
Figure 112016111062833-pat00057
≪ / RTI > And
Generate secret key with predicate set
Figure 112016111062833-pat00058
this
Figure 112016111062833-pat00059
Transmitting only the secret key that satisfies the secret key to the requesting recipient,
The step of encrypting and transmitting the message comprises:
A set of attributes that represent public parameters and recipients.
Figure 112016111062833-pat00060
And an arbitrary random number
Figure 112016111062833-pat00061
, And using the selected public parameters,
Figure 112016111062833-pat00062

And based on this,
Figure 112016111062833-pat00063
,
The message encryption key K is computed using Equation
Figure 112016111062833-pat00064
; And
The message M to be transmitted is encrypted using the encryption key K
Figure 112016111062833-pat00065
And generates a ciphertext
Figure 112016111062833-pat00066
To the recipient terminal,
Wherein the encryption key K and the cipher text C are generated using the same random number s to be associated with each other.
삭제delete 삭제delete 삭제delete 삭제delete 제1항에 있어서,
메시지를 복호화하는 단계는,
수신자의 술어 집합
Figure 112016111062833-pat00067
및 암호문
Figure 112016111062833-pat00068
을 이용하여
Figure 112016111062833-pat00069
를 산출하는 단계; 여기서, 술어 집합
Figure 112016111062833-pat00070
는 암호문
Figure 112016111062833-pat00071
에 포함된
Figure 112016111062833-pat00072
에 대하여
Figure 112016111062833-pat00073
을 만족하고
수신자의 비밀키
Figure 112016111062833-pat00074
와 상기 산출된 D0, 및 암호문 C1, C3을 이용하여,
Figure 112016111062833-pat00075
를 산출하는 단계; 및
상기 K-1를 이용하여 복호화된 평문
Figure 112016111062833-pat00076
를 획득하는 단계;를 더 포함하는 것을 특징으로 하는 술어 암호화 방법.
The method according to claim 1,
The step of decrypting the message comprises:
The predicate set of the receiver
Figure 112016111062833-pat00067
And ciphertext
Figure 112016111062833-pat00068
Using
Figure 112016111062833-pat00069
; Here,
Figure 112016111062833-pat00070
Is a cipher text
Figure 112016111062833-pat00071
Included in
Figure 112016111062833-pat00072
about
Figure 112016111062833-pat00073
And
The recipient's private key
Figure 112016111062833-pat00074
And the calculated D 0 and the ciphertexts C 1 and C 3 ,
Figure 112016111062833-pat00075
; And
The plaintext decoded using K -1
Figure 112016111062833-pat00076
The method comprising the steps of: acquiring a predicate of a predicate;
키분배 센터에 의하여, 메시지의 송신자 및 수신자가 공유할 공개 파라미터 및 마스터 비밀키를 계산하는 단계;
키분배 센터에 의하여, 수신자의 술어 집합에 대한 제1 임의의 난수, 공개 파라미터, 마스터 비밀키를 이용하여 비밀키를 생성하는 단계;
키분배 센터에 의하여, 수신자의 속성 집합에 대한 제2 임의의 난수, 공개 파라미터를 이용하여 메시지 암호화 키를 생성하는 단계;
송신자 단말에서, 상기 메시지 암호화 키를 이용하여 메시지를 암호화하여 암호문을 생성하는 단계; 및
수신자 단말은, 생성된 암호문이 수신되면, 비밀키를 이용하여 암호문을 복호화하여 평문을 획득하는 단계;를 포함하고,
여기서, 상기 계산하는 단계는,
비대칭 바이리니어 페어링 맵(Bilinear pairing map) 그룹인,
Figure 112016111062833-pat00077
을 선택하는 단계와, 여기서 G1, G2는 타원곡선의 서브그룹이고, GT는 확장체의 서브그룹이고; 및
상기 타원곡선의 서브그룹에서, G1의 생성자인 g와 G2의 생성자인 h와, 임의의 난수인
Figure 112016111062833-pat00078
를 선택하여,
Figure 112016111062833-pat00079
를 산출한 다음, 공개 파라미터 및 마스터 비밀 키를 생성하는 단계를 포함하고,
여기서 G1, G2는 타원곡선의 서브그룹이고, GT는 확장체의 서브그룹이고, 상기 공개 파라미터는,
Figure 112016111062833-pat00080
이고, 상기 마스터 비밀키는
Figure 112016111062833-pat00081
이고,
상기 비밀키를 생성하는 단계는,
키분배 센터에 의하여, 상기 마스터 비밀 키와, 공개 파라미터와, 수신자의 술어 집합인
Figure 112016111062833-pat00082
에 대하여 임의의 난수
Figure 112016111062833-pat00083
을 선택하고, 다음의 수학식
Figure 112016111062833-pat00084

를 이용하여 비밀 키
Figure 112016111062833-pat00085
를 생성하는 단계와,
생성된 비밀키를 술어 집합
Figure 112016111062833-pat00086
Figure 112016111062833-pat00087
을 만족하는 비밀키를 요청한 수신자에게만 전송하는 단계;를 포함하고,
상기 메시지 암호화 키를 생성하는 단계는,
공개 파라미터와 수신자들을 나타내는 속성 집합인
Figure 112016111062833-pat00088
와 임의의 난수
Figure 112016111062833-pat00089
, 및 선택된 공개 파라미터를 이용하여 다음의 수학식
Figure 112016111062833-pat00090

을 산출하고, 이를 기초로 헤더
Figure 112016111062833-pat00091
을 생성하는 단계와,
메시지 암호화 키 K를 수학식
Figure 112016111062833-pat00092
을 이용하여 산출하는 단계를 포함하고,
상기 암호문을 생성하는 단계는,
암호화 키 K를 이용하여, 송신하고자 하는 메시지 M을 암호화하여
Figure 112016111062833-pat00093
을 생성하고, 이를 기초로 암호문인
Figure 112016111062833-pat00094
을 수신자 단말로 전송하는 단계를 포함하고, 여기서 상기 암호화 키 K와 상기 암호문 C는 서로 연관되도록 동일하게 상기 임의의 난수 s를 사용하여 이루어지는 것을 특징으로 하는 술어 암호화 방법.
Calculating, by a key distribution center, a public parameter and a master secret key to be shared by the sender and the recipient of the message;
Generating a secret key by a key distribution center using a first random number, a public parameter, and a master secret key for a set of predicates of a receiver;
Generating, by the key distribution center, a message encryption key using a second random number, a public parameter, for a set of attributes of the recipient;
Generating a ciphertext by encrypting a message using the message encryption key in a sender terminal; And
Receiving the generated ciphertext, decrypting the ciphertext using the secret key to obtain a plain text,
Here, the calculating may include:
Asymmetric bilinear pairing map group,
Figure 112016111062833-pat00077
, Wherein G 1 , G 2 are subgroups of elliptic curves and G T is a subgroup of extensions; And
In the subgroup of the elliptic curve, g, which is a generator of G 1 , h, which is a generator of G 2 ,
Figure 112016111062833-pat00078
≪ / RTI >
Figure 112016111062833-pat00079
And generating a public parameter and a master secret key,
Wherein G 1 and G 2 are subgroups of elliptic curves and G T is a subgroup of extensions,
Figure 112016111062833-pat00080
, And the master secret key
Figure 112016111062833-pat00081
ego,
Wherein the generating the secret key comprises:
By the key distribution center, the master secret key, the public parameters, and the set of predicates of the recipient
Figure 112016111062833-pat00082
A random number
Figure 112016111062833-pat00083
And the following equation
Figure 112016111062833-pat00084

Using the secret key
Figure 112016111062833-pat00085
,
Generate secret key with predicate set
Figure 112016111062833-pat00086
this
Figure 112016111062833-pat00087
Transmitting only the secret key that satisfies the secret key to the requesting recipient,
Wherein the generating the message encryption key comprises:
A set of attributes that represent public parameters and recipients.
Figure 112016111062833-pat00088
And an arbitrary random number
Figure 112016111062833-pat00089
, And using the selected public parameters,
Figure 112016111062833-pat00090

And based on this,
Figure 112016111062833-pat00091
,
The message encryption key K is computed using Equation
Figure 112016111062833-pat00092
And a step of calculating,
The step of generating the ciphertext includes:
The message M to be transmitted is encrypted using the encryption key K
Figure 112016111062833-pat00093
And generates a ciphertext
Figure 112016111062833-pat00094
To the recipient terminal, wherein the encryption key K and the cipher text C are generated using the same random number s to be associated with each other.
KR1020150133363A 2015-09-21 2015-09-21 Terminology encryption method using paring calculation and secret key KR101695361B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150133363A KR101695361B1 (en) 2015-09-21 2015-09-21 Terminology encryption method using paring calculation and secret key

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150133363A KR101695361B1 (en) 2015-09-21 2015-09-21 Terminology encryption method using paring calculation and secret key

Publications (1)

Publication Number Publication Date
KR101695361B1 true KR101695361B1 (en) 2017-01-11

Family

ID=57832723

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150133363A KR101695361B1 (en) 2015-09-21 2015-09-21 Terminology encryption method using paring calculation and secret key

Country Status (1)

Country Link
KR (1) KR101695361B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109995795A (en) * 2019-04-26 2019-07-09 桂林电子科技大学 A kind of predicate group encryption method and system for supporting user to be dynamically added
KR102123435B1 (en) 2019-08-19 2020-06-16 세종대학교산학협력단 Encryption method for supporting equality query in multi-client environment and apparatus using the same
KR102123440B1 (en) 2019-09-02 2020-06-16 세종대학교산학협력단 Encryption method for supporting range query in multi-client environment and apparatus using the same

Citations (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 (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

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109995795A (en) * 2019-04-26 2019-07-09 桂林电子科技大学 A kind of predicate group encryption method and system for supporting user to be dynamically added
CN109995795B (en) * 2019-04-26 2021-08-27 桂林电子科技大学 Predicate group encryption method and system supporting dynamic joining of user
KR102123435B1 (en) 2019-08-19 2020-06-16 세종대학교산학협력단 Encryption method for supporting equality query in multi-client environment and apparatus using the same
KR102123440B1 (en) 2019-09-02 2020-06-16 세종대학교산학협력단 Encryption method for supporting range query in multi-client environment and apparatus using the same

Similar Documents

Publication Publication Date Title
CN113259329B (en) Method and device for data careless transmission, electronic equipment and storage medium
US8229112B2 (en) Decipherable searchable encryption method, system for such an encryption
KR20150122513A (en) Encryption apparatus, method for encryption and computer-readable recording medium
CN115001685B (en) Method, device, equipment and storage medium for inadvertent transmission
US12010216B2 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
KR102143525B1 (en) Method for function encryption supporting set intersection operation and apparatus using the same
KR20180108008A (en) Apparatus and method for generating key, apparatus and method for encryption
CN104836657A (en) Identity anonymity-based broadcast encryption method having efficient decryption characteristic
US11528127B2 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
KR101695361B1 (en) Terminology encryption method using paring calculation and secret key
KR101308023B1 (en) Broadcast encryption method for securing recipient privacy
Reshma et al. Pairing-free CP-ABE based cryptography combined with steganography for multimedia applications
KR101621388B1 (en) Identity- based broadcast method from lattices
CN112889240A (en) Server device, communication terminal, communication system, and program
CN105530089B (en) Attribute-based encryption method and device
US9473471B2 (en) Method, apparatus and system for performing proxy transformation
KR101533950B1 (en) Broadcast encryption method and system
CN104868963A (en) Broadcast encryption scheme based on multi-linear mapping
Weber A hybrid attribute-based encryption technique supporting expressive policies and dynamic attributes
KR101373577B1 (en) Apparatus of id based dynamic threshold encryption and method thereof
CN113645022B (en) Method, device, electronic equipment and storage medium for determining intersection of privacy sets
KR101912443B1 (en) Public key based encryption method and key generation server
Mora-Afonso et al. Strong authentication on smart wireless devices
KR101793528B1 (en) Certificateless public key encryption system and receiving terminal
KR101812311B1 (en) User terminal and data sharing method of user terminal based on attributed re-encryption

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20200103

Year of fee payment: 4