[go: up one dir, main page]

KR101793528B1 - Certificateless public key encryption system and receiving terminal - Google Patents

Certificateless public key encryption system and receiving terminal Download PDF

Info

Publication number
KR101793528B1
KR101793528B1 KR1020160006629A KR20160006629A KR101793528B1 KR 101793528 B1 KR101793528 B1 KR 101793528B1 KR 1020160006629 A KR1020160006629 A KR 1020160006629A KR 20160006629 A KR20160006629 A KR 20160006629A KR 101793528 B1 KR101793528 B1 KR 101793528B1
Authority
KR
South Korea
Prior art keywords
key
receiving terminal
public key
constant
secret value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
KR1020160006629A
Other languages
Korean (ko)
Other versions
KR20170087120A (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 KR1020160006629A priority Critical patent/KR101793528B1/en
Publication of KR20170087120A publication Critical patent/KR20170087120A/en
Application granted granted Critical
Publication of KR101793528B1 publication Critical patent/KR101793528B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

무인증서 공개키 암호 시스템이 개시된다. 상기 무인증서 공개키 암호 시스템은 수신 단말기, 송신 단말기, 및 서버를 포함하고, 상기 서버는 보안 상수를 입력받아 마스터키와 공개 상수를 생성하고, 상기 공개 상수를 공개하는 설정 모듈 및 상기 공개 상수와 상기 마스터키를 이용하여 상기 수신 단말기의 부분 개인키를 생성하고, 상기 부분 개인키를 상기 수신 단말기로 송신하는 부분 개인키 추출 모듈을 포함하고, 상기 수신 단말기는 상기 공개 상수, 상기 수신 단말기의 아이디 및 상기 수신 단말기의 상태 정보(

Figure 112016006136940-pat00227
)를 이용하여 비밀값을 생성하는 비밀값 설정 모듈 및 상기 공개 상수, 상기 비밀값 및 상기 상태 정보(
Figure 112016006136940-pat00228
)를 이용하여 공개키를 생성하는 공개키 설정 모듈을 포함하고, 상기 송신 단말기는 상기 공개 상수, 상기 수신 단말기의 아이디 및 상기 공개키를 메시지를 암호화하여 암호문을 생성하고, 생성된 암호문을 상기 수신 단말기로 송신한다.A non-certificate public key cryptosystem is disclosed. The public key cryptography system includes a receiving terminal, a transmitting terminal, and a server. The server receives a security constant and generates a master key and a public constant. The setting module exposes the public constant. And a partial private key extraction module for generating the partial private key of the receiving terminal using the master key and transmitting the partial private key to the receiving terminal, wherein the receiving terminal receives the public constant, And status information of the receiving terminal (
Figure 112016006136940-pat00227
A secret value setting module for generating a secret value using the secret value, the secret value, and the status information
Figure 112016006136940-pat00228
The transmitting terminal generates a cipher text by encrypting the message with the public constant, the ID of the receiving terminal, and the public key, and transmits the generated cipher text to the receiving terminal To the terminal.

Description

무인증서 공개키 암호 시스템 및 수신 단말기{CERTIFICATELESS PUBLIC KEY ENCRYPTION SYSTEM AND RECEIVING TERMINAL}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a public key cryptosystem,

본 발명의 개념에 따른 실시 예는 무인증서 공개키 암호 시스템에 관한 것으로, 특히 공개키가 교체된 이후 이전에 사용했던 비밀값과 복호화키가 노출되더라도 현재의 정당한 복호화키에 대한 어떠한 정보도 알아낼 수 없게 함으로써 안전성을 보장하는 무인증서 공개키 암호 시스템 및 수신 단말기에 관한 것이다.An embodiment according to the concept of the present invention relates to a non-certificate public key cryptosystem, and in particular, even if a previously used secret value and a decryption key are exposed after a public key is replaced, any information about a current valid decryption key can be obtained Certificate public key cryptosystem and a receiving terminal for ensuring safety by eliminating the public key.

본 발명의 배경이 되는 기술은 다음과 같다.The background of the present invention is as follows.

공개키 암호 시스템(Public Key Encryption System)Public Key Encryption System

공개키 암호 시스템에서 메시지 암호화 통신을 위해 사용되는 공개키는 식별이 불가능한 난수 형태이기 때문에 공개키만으로는 그 키에 대한 소유자가 누구인지 알 수 없다. 따라서, 메시지 전송 방식이 안전하기 위해서는 공개키와 소유자 사이를 인증해주는 새로운 매개체가 필요하다. 공개키 암호 시스템에서는 인증서를 통해 공개키의 소유 여부를 인증하며, 이 인증서는 제3의 신뢰기관(trusted third authority)을 통해 발급된다. 인증서를 기반으로 공개키를 인증하기 때문에 공개키에 대한 신뢰는 보장할 수 있지만, 인증서 저장, 폐기 및 분배 등 관리차원의 문제가 발생한다. 따라서 이러한 공개키 암호 기법의 문제를 해결하기 위해서 ID기반 암호 시스템이 개발되었다.In the public key cryptosystem, the public key used for message encryption communication is in an unidentifiable random number format, so that the public key alone does not know who owns the key. Therefore, in order for the message transmission method to be secure, a new medium for authenticating between the public key and the owner is required. The public key cryptosystem authenticates whether the public key is owned by a certificate, which is issued through a trusted third authority. Since the public key is authenticated based on the certificate, the trust of the public key can be guaranteed, but there arises a management problem such as storing, discarding and distributing the certificate. Therefore, ID - based cryptosystem has been developed to solve the problem of public key cryptosystem.

ID기반 암호 시스템(Identity Based Encryption System)Identity Based Encryption System

ID기반 암호 시스템에서는 이메일 주소나 IP 주소와 같은 식별 가능한 문자열인 사용자의 ID가 공개키가 되어 그 자체로 사용자의 공개키 소유 권한이 입증된다. 별도의 공개키 인증 과정이 필요하지 않아 공개키 기반 구조의 인증서 관리 문제가 발생하지 않지만, 키 생성 기관(key generation center)이 모든 개인키를 생성하여 사용자에게 발급해주는 방식이기 때문에 키 생성 기관이 모든 개인키를 알게 되는 키 위탁(key escrow) 문제가 발생한다. 이를 해결하기 위하여 무인증서 공개키 암호 시스템이 개발되었다. In the ID-based cryptosystem, the ID of the user, which is an identifiable string such as an e-mail address or an IP address, becomes a public key, thereby proving ownership of the user's public key. Since there is no need for a separate public key authentication process, there is no certificate management problem of the public key infrastructure. However, since the key generation center generates all the private keys and issues them to the user, There is a key escrow problem that allows you to know the private key. To solve this problem, a non - certificate public key cryptosystem has been developed.

무인증서 공개키 암호 시스템(Certificateless Public Key Encryption System)Certificateless Public Key Encryption System

무인증서 공개키 암호 시스템은 난수성을 갖는 공개키와 사용자의 ID를 함께 공개키로 사용하는 암호 시스템으로써, 인증서를 사용하지 않으면서 ID기반 암호의 키 위탁 문제를 해결하였다. 무인증서 공개키 암호 시스템에서는 메시지를 복호화하기 위해 사용자가 선택한 비밀값과 키 생성 기관이 발급한 부분 개인키를 이용하여 연산된 복호화키를 사용한다. 여기서 난수성을 가지는 공개키는 사용자가 선택한 비밀값을 이용하여 계산된 값이다. 이때, 한 번이라도 공개키가 교체된 이후에 이전의 비밀값과 복호화키가 노출되더라도 공격자가 현재의 공개키로 암호화된 암호문에 대하여 어떠한 정보도 얻을 수 없어야 한다. 이러한 무인증서 공개키 암호 시스템에 대한 안전성을 보장하는 기법을 비밀값과 복호화키 노출 공격에 안전한 무인증서 공개키 암호 기법이라 한다.The non - certificate public key cryptosystem is a cryptographic system that uses public key with irregularity and user 's ID together as a public key, and solves the problem of key trust of ID based cryptography without using certificate. In the non-certificate public key cryptosystem, the decryption key computed by using the secret value selected by the user and the partial private key issued by the key generating organization is used to decrypt the message. In this case, the public key having the secret number is a value calculated by using the secret value selected by the user. In this case, even after the public key has been changed even once, the attacker must not be able to obtain any information about the cipher text encrypted with the current public key even if the previous secret value and the decryption key are exposed. This method of ensuring the security of the non - certificate public key cryptosystem is called the secret key and the non - certificate public key cryptosystem which is safe to attack the decryption key.

겹선형 함수(Bilinear Map)Bilinear Map

위수를 소수

Figure 112016006136940-pat00001
로 갖는 곱셈 군
Figure 112016006136940-pat00002
Figure 112016006136940-pat00003
가 있고,
Figure 112016006136940-pat00004
의 생성원(generator)이
Figure 112016006136940-pat00005
라고 가정하자. 다음과 같은 조건을 만족하는 함수
Figure 112016006136940-pat00006
를 겹선형 함수라 한다.A prime number
Figure 112016006136940-pat00001
Multiplication group having
Figure 112016006136940-pat00002
and
Figure 112016006136940-pat00003
There,
Figure 112016006136940-pat00004
The generator of
Figure 112016006136940-pat00005
. Functions that satisfy the following conditions
Figure 112016006136940-pat00006
Is called a folded linear function.

1) 겹선형성(bilinearity): 임의의 두 원소

Figure 112016006136940-pat00007
Figure 112016006136940-pat00008
에 대해
Figure 112016006136940-pat00009
가 된다.1) bilinearity: any two elements
Figure 112016006136940-pat00007
Wow
Figure 112016006136940-pat00008
About
Figure 112016006136940-pat00009
.

2) 비소실성(non-degeneracy):

Figure 112016006136940-pat00010
을 만족하는
Figure 112016006136940-pat00011
가 존재한다.2) Non-degeneracy:
Figure 112016006136940-pat00010
Satisfy
Figure 112016006136940-pat00011
Lt; / RTI >

3) 계산 가능성(computability): 임의의

Figure 112016006136940-pat00012
에 대해서
Figure 112016006136940-pat00013
를 효율적으로 계산할 수 있는 알고리즘이 존재한다.3) Computability:
Figure 112016006136940-pat00012
about
Figure 112016006136940-pat00013
There is an algorithm that can efficiently calculate

DBDH 가정(Decisional Bilinear Diffie-Hellman assumption)Decisional Bilinear Diffie-Hellman assumption

위수를 소수

Figure 112016006136940-pat00014
로 갖는 군
Figure 112016006136940-pat00015
가 있고 겹선형 함수
Figure 112016006136940-pat00016
가 있을 때
Figure 112016006136940-pat00017
Figure 112016006136940-pat00018
의 생성원이라고 가정하자. 이 때, DBDH 문제는 지수 부분의
Figure 112016006136940-pat00019
가 이와 같이
Figure 112016006136940-pat00020
상의 원소이고 집합
Figure 112016006136940-pat00021
가 주어졌을 때,
Figure 112016006136940-pat00022
인지를 결정하는 것이다.A prime number
Figure 112016006136940-pat00014
Group
Figure 112016006136940-pat00015
And a folded linear function
Figure 112016006136940-pat00016
When there is
Figure 112016006136940-pat00017
of
Figure 112016006136940-pat00018
. In this case, the DBDH problem is
Figure 112016006136940-pat00019
Like this
Figure 112016006136940-pat00020
And the set
Figure 112016006136940-pat00021
When given,
Figure 112016006136940-pat00022
Is determined.

알고리즘

Figure 112016006136940-pat00023
Figure 112016006136940-pat00024
혹은
Figure 112016006136940-pat00025
에 따라 비트
Figure 112016006136940-pat00026
을 출력하는 알고리즘이다. 이 때, 다항식 시간 안에 의미 있는(non-negligible) 확률로 계산할 수 있는 알고리즘
Figure 112016006136940-pat00027
가 존재하지 않는다면 DBDH 문제는 풀기 어렵다고 정의하며, 알고리즘
Figure 112016006136940-pat00028
가 DBDH 문제를 풀 수 있을 algorithm
Figure 112016006136940-pat00023
The
Figure 112016006136940-pat00024
or
Figure 112016006136940-pat00025
According to the bit
Figure 112016006136940-pat00026
. In this case, an algorithm that can be calculated with a non-negligible probability within a polynomial time
Figure 112016006136940-pat00027
, The DBDH problem is defined as difficult to solve, and the algorithm
Figure 112016006136940-pat00028
Can solve the DBDH problem

이점(advantage)

Figure 112016006136940-pat00029
는 다음과 같다. Advantage
Figure 112016006136940-pat00029
Is as follows.

Figure 112016006136940-pat00030
Figure 112016006136940-pat00030

본 발명이 이루고자 하는 기술적인 과제는 공개키가 교체된 이후 이전의 비밀값과 복호화키가 노출되더라도 이를 이용하여 부분 개인키를 연산할 수 없고 현재의 공개키로 암호화된 암호문에 대한 어떠한 정보도 얻을 수 없게 함으로써 높은 안전성을 보장할 수 있는 무인증서 공개키 암호 시스템 및 수신 단말기를 제공하는 것이다.The present invention has been made in view of the above problems, and it is an object of the present invention to provide a method and apparatus for encrypting a partial private key by using a public key and a decryption key, A public key cryptographic system and a receiving terminal which can guarantee high safety by preventing the public key from being cached.

본 발명의 일 실시 예에 따른 무인증서 공개키 암호 시스템은 수신 단말기, 송신 단말기 및 서버를 포함하고, 상기 서버는 보안 상수를 입력받아 마스터키와 공개 상수를 생성하고, 상기 공개 상수를 공개하는 설정 모듈 및 상기 공개 상수와 상기 마스터키를 이용하여 상기 수신 단말기의 부분 개인키를 생성하고, 상기 부분 개인키를 상기 수신 단말기로 송신하는 부분 개인키 추출 모듈을 포함하고, 상기 수신 단말기는 상기 공개 상수, 상기 수신 단말기의 아이디 및 상기 수신 단말기의 상태 정보(

Figure 112016006136940-pat00031
)를 이용하여 비밀값을 생성하는 비밀값 설정 모듈 및 상기 공개 상수, 상기 비밀값 및 상기 상태 정보(
Figure 112016006136940-pat00032
)를 이용하여 공개키를 생성하는 공개키 설정 모듈을 포함하고, 상기 송신 단말기는 상기 공개 상수, 상기 수신 단말기의 아이디 및 상기 공개키로 메시지를 암호화하여 암호문을 생성하고, 생성된 암호문을 상기 수신 단말기로 송신한다.The non-certificate public key cryptosystem according to an embodiment of the present invention includes a receiving terminal, a transmitting terminal, and a server, and the server receives a security constant, generates a master key and an exposing constant, And a partial private key extraction module for generating the partial private key of the receiving terminal using the public constant and the master key and transmitting the partial private key to the receiving terminal, An ID of the receiving terminal, and status information of the receiving terminal
Figure 112016006136940-pat00031
A secret value setting module for generating a secret value using the secret value, the secret value, and the status information
Figure 112016006136940-pat00032
The transmitting terminal generates a cipher text by encrypting the message using the public constant, the ID of the receiving terminal, and the public key, and transmits the generated cipher text to the receiving terminal .

본 발명의 일 실시 예에 따른 수신 단말기는 상기 무인증서 공개키 암호 시스템에 포함될 수 있고, 공개 상수, 상기 수신 단말기의 아이디 및 상기 수신 단말기의 상태 정보(

Figure 112016006136940-pat00033
)를 이용하여 비밀값을 생성하는 비밀값 설정 모듈, 상기 공개 상수, 서버로부터 수신된 부분 개인키, 및 상기 비밀값을 이용하여 복호화키를 생성하는 복호화키 설정 모듈, 상기 공개 상수, 상기 비밀값 및 상기 상태 정보(
Figure 112016006136940-pat00034
)를 이용하여 공개키를 생성하는 공개키 설정 모듈, 및 상기 공개 상수와 상기 복호화키를 이용하여 상기 암호문을 복호화하는 복호화 모듈을 포함한다.A receiving terminal according to an exemplary embodiment of the present invention may be included in the non-certificate public key cryptosystem, and may include an open constant, an ID of the receiving terminal, and status information of the receiving terminal
Figure 112016006136940-pat00033
A decryption key setting module for generating a decryption key using the decryption key, the partial constant received from the server, and the secret value; And the status information (
Figure 112016006136940-pat00034
), And a decryption module for decrypting the cipher text using the decryption key and the public constant.

본 발명의 실시 예에 따른 무인증서 공개키 암호 시스템에 의할 경우, 공개키가 교체된 이후 이전의 사용자 비밀값과 복호호키가 악의적인 공격자에게 노출되더라도 노출된 키 정보를 연산하여 부분 개인키 값을 구한다거나 현재의 공개키로 암호화된 암호문을 해독하는 것은 불가능하다. 즉, 공격자가 이러한 키 정보를 이용하여 어떠한 의미있는 정보도 알아낼 수 없다. In the non-certificate public key cryptosystem according to the embodiment of the present invention, even if the previous user secret value and the decrypted hawk are exposed to a malicious attacker after the public key is replaced, Or decrypt the encrypted ciphertext with the current public key. That is, the attacker can not use this key information to find any meaningful information.

또한, 클라이언트가 비밀값을 생성할 때마다 상태정보가 갱신되고, 갱신된 상태정보를 이용하여 공개키가 생성되기 때문에, 공격자가 악의적으로 공개키를 교체하더라도 공개키로 암호화된 암호문의 상태정보와 복호화키의 상태정보가 다르기 때문에 공격자는 암호문에 대한 어떠한 정보도 알아낼 수 없다. 또한, 수학적으로 계산이 어려운 문제에 기반을 두어 설계되었으므로 무인증서 암호 기법의 안전성이 보장된다.Further, since the state information is updated every time the client generates the secret value and the public key is generated using the updated state information, even if the attacker maliciously exchanges the public key, the state information of the cipher text encrypted with the public key, Since the state information of the key is different, the attacker can not find any information about the cipher text. In addition, since it is designed based on the difficult mathematical problem, the security of the non-certificate cryptography is guaranteed.

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 일 실시 예에 의한 무인증서 공개키 암호 시스템을 도시한다.
도 2는 도 1에 도시된 서버의 기능 블럭도이다.
도 3은 도 1에 도시된 수신 단말기의 기능 블럭도이다.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS In order to more fully understand the drawings recited in the detailed description of the present invention, a detailed description of each drawing is provided.
FIG. 1 illustrates a non-certificate public key cryptosystem according to an embodiment of the present invention.
2 is a functional block diagram of the server shown in FIG.
3 is a functional block diagram of the receiving terminal shown in FIG.

본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.It is to be understood that the specific structural or functional description of embodiments of the present invention disclosed herein is for illustrative purposes only and is not intended to limit the scope of the inventive concept But may be embodied in many different forms and is not limited to the embodiments set forth herein.

본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.The embodiments according to the concept of the present invention can make various changes and can take various forms, so that the embodiments are illustrated in the drawings and described in detail herein. It should be understood, however, that it is not intended to limit the embodiments according to the concepts of the present invention to the particular forms disclosed, but includes all modifications, equivalents, or alternatives falling within the spirit and scope of the invention.

제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1 구성 요소는 제2 구성 요소로 명명될 수 있고 유사하게 제2 구성 요소는 제1 구성 요소로도 명명될 수 있다.The terms first, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The terms may be named for the purpose of distinguishing one element from another, for example, without departing from the scope of the right according to the concept of the present invention, the first element may be referred to as a second element, The component may also be referred to as a first component.

어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.It is to be understood that 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, . 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. Other expressions that describe the relationship between components, such as "between" and "between" or "neighboring to" and "directly adjacent to" should be interpreted as well.

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

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, 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 meaning of the context in the relevant art and, unless explicitly defined herein, are to be interpreted as ideal or overly formal Do not.

본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명하기 전에 본 발명에서 이용되는 알고리즘에 대해 설명하면 다음과 같다.Before describing embodiments of the present invention in detail with reference to the drawings attached hereto, the algorithm used in the present invention will be described as follows.

본 발명에 따른 무인증서 암호 기법은 설정 알고리즘(Setup), 부분 개인키 추출 알고리즘(ExtractPartialPrivateKey), 비밀값 설정 알고리즘(SetSecretValue), 복호화키 설정 알고리즘(SetDecryptionKey), 공개키 설정 알고리즘(SetPublicKey), 암호화 알고리즘(Encrypt), 복호화 알고리즘(Decrypt)을 이용하며, 이용되는 각 알고리즘은 다음과 같이 구성된다.The non-certificate cryptosystem according to the present invention includes a setup algorithm, an ExtractPartialPrivateKey algorithm, a SetSecretValue algorithm, a SetDecryptionKey algorithm, a SetPublicKey algorithm, (Encrypt) and decryption algorithm (Decrypt), and each algorithm used is composed as follows.

1. 설정 알고리즘(Setup)1. Setup algorithm (Setup)

설정 알고리즘 또는 설정 단계에서는 보안 상수

Figure 112016006136940-pat00035
를 입력받아 마스터키
Figure 112016006136940-pat00036
와 공개 상수(공개 파라미터라고도 함)
Figure 112016006136940-pat00037
를 출력한다. 상기 설정 알고리즘은 서버에 의해 수행되며 설정 단계가 완료되면 상기 서버는 마스터키
Figure 112016006136940-pat00038
를 저장하고 공개 상수
Figure 112016006136940-pat00039
를 공개한다.In the configuration algorithm or configuration phase,
Figure 112016006136940-pat00035
≪ / RTI >
Figure 112016006136940-pat00036
And the disclosure constant (also known as the disclosure parameter)
Figure 112016006136940-pat00037
. The setting algorithm is performed by the server, and when the setting step is completed,
Figure 112016006136940-pat00038
And the open constant
Figure 112016006136940-pat00039
.

구체적으로, 상기 서버는 위수가 소수

Figure 112016006136940-pat00040
인 군
Figure 112016006136940-pat00041
,
Figure 112016006136940-pat00042
, 생성자
Figure 112016006136940-pat00043
, 겹선형 함수
Figure 112016006136940-pat00044
를 선택한다. 또한, 상기 서버는 임의의 난수
Figure 112016006136940-pat00045
Figure 112016006136940-pat00046
에 포함되는 임의의 원소
Figure 112016006136940-pat00047
를 선택한다. 결국, 서버에 의해 생성된 마스터키
Figure 112016006136940-pat00048
Figure 112016006136940-pat00049
이고, 공개 파라미터
Figure 112016006136940-pat00050
는 다음과 같다.Specifically, the server calculates the number
Figure 112016006136940-pat00040
Phosphorus
Figure 112016006136940-pat00041
,
Figure 112016006136940-pat00042
, Constructor
Figure 112016006136940-pat00043
, Fold linear function
Figure 112016006136940-pat00044
. Also, the server may be a random number
Figure 112016006136940-pat00045
Wow
Figure 112016006136940-pat00046
Any element
Figure 112016006136940-pat00047
. Eventually, the master key generated by the server
Figure 112016006136940-pat00048
The
Figure 112016006136940-pat00049
Lt; / RTI >
Figure 112016006136940-pat00050
Is as follows.

Figure 112016006136940-pat00051
Figure 112016006136940-pat00051

2. 부분 개인키 추출 알고리즘(ExtractPartialPrivateKey)2. Partial private key extraction algorithm (ExtractPartialPrivateKey)

부분 개인키 추출 알고리즘 또는 부분 개인키 추출 단계에서는 공개 상수

Figure 112016006136940-pat00052
, 마스터키
Figure 112016006136940-pat00053
, 및 사용자(수신자)의 아이디
Figure 112016006136940-pat00054
를 입력받아 부분 개인키
Figure 112016006136940-pat00055
를 출력한다. 상기 부분 개인키 추출 알고리즘은 상기 서버에 의해 각각의 사용자 별로 1회씩 수행될 수 있으며, 생성된 부분 개인키
Figure 112016006136940-pat00056
는 대응하는 사용자(또는 사용자의 단말기)에게 전달된다.In the partial private key extraction algorithm or the partial private key extraction step,
Figure 112016006136940-pat00052
, Master key
Figure 112016006136940-pat00053
, And the identity of the user (recipient)
Figure 112016006136940-pat00054
The partial private key
Figure 112016006136940-pat00055
. The partial private key extraction algorithm may be performed once for each user by the server, and the generated partial private key
Figure 112016006136940-pat00056
(Or the user's terminal).

구체적으로, 상기 서버는 임의의 난수

Figure 112016006136940-pat00057
를 선택하고, 상기 서버에 의해 생성된 부분 개인키
Figure 112016006136940-pat00058
는 다음과 같다.Specifically, the server generates a random number
Figure 112016006136940-pat00057
A partial private key generated by the server,
Figure 112016006136940-pat00058
Is as follows.

Figure 112016006136940-pat00059
Figure 112016006136940-pat00059

3. 비밀값 설정 알고리즘(SetSecretValue)3. Set secret value algorithm (SetSecretValue)

비밀값 설정 알고리즘 또는 비밀값 설정 단계에서는 공개 상수

Figure 112016006136940-pat00060
와 사용자의 아이디
Figure 112016006136940-pat00061
를 입력받고 상기 사용자의 상태정보
Figure 112016006136940-pat00062
를 이용하여 비밀값
Figure 112016006136940-pat00063
을 출력할 수 있다. 비밀값 설정 알고리즘은 상기 사용자의 단말기인 수신 단말기에 의해 수행될 수 있다.In the secret value setting algorithm or secret value setting step,
Figure 112016006136940-pat00060
And the user's ID
Figure 112016006136940-pat00061
And receives the status information of the user
Figure 112016006136940-pat00062
The secret value
Figure 112016006136940-pat00063
Can be output. The secret value setting algorithm can be performed by the receiving terminal which is the terminal of the user.

구체적으로, 상기 수신 단말기는 임의의 난수

Figure 112016006136940-pat00064
를 선택한다. 이때, 난수
Figure 112016006136940-pat00065
는 상기 수신 단말기가 공개키를 생성하는 과정에서 이용될 수 있으며 상기 수신 단말기에 의해 상기 수신 단말기 내에 저장된다. 상태정보
Figure 112016006136940-pat00066
는 임의의 정수, 예컨대 "1"을 초기값으로 갖으며(즉,
Figure 112016006136940-pat00067
), 비밀값
Figure 112016006136940-pat00068
이 생성될 때마다 상기 수신 단말기에 의해 그 값이 갱신될 수 있다(즉,
Figure 112016006136940-pat00069
). 상기 수신 단말기에 의해 생성된 비밀값
Figure 112016006136940-pat00070
는 다음과 같다.Specifically, the receiving terminal transmits a random number
Figure 112016006136940-pat00064
. At this time,
Figure 112016006136940-pat00065
May be used in the process of generating the public key by the receiving terminal and stored in the receiving terminal by the receiving terminal. Status information
Figure 112016006136940-pat00066
Quot; 1 "as an initial value (i.e.,
Figure 112016006136940-pat00067
), Secret value
Figure 112016006136940-pat00068
The value can be updated by the receiving terminal every time it is generated (i.e.,
Figure 112016006136940-pat00069
). The secret value generated by the receiving terminal
Figure 112016006136940-pat00070
Is as follows.

Figure 112016006136940-pat00071
Figure 112016006136940-pat00071

4. 복호화키 설정 알고리즘(SetDecryptionKey)4. Decryption key setting algorithm (SetDecryptionKey)

복호화키 설정 알고리즘 또는 복호화키 설정 단계에서는 공개 상수

Figure 112016006136940-pat00072
, 부분 개인키
Figure 112016006136940-pat00073
, 및 비밀값
Figure 112016006136940-pat00074
을 입력받고 상기 사용자의 복호화키
Figure 112016006136940-pat00075
를 출력할 수 있다. 상기 복호화키 설정 알고리즘은 상기 수신 단말기에 의해 수행된다.In the decryption key setting algorithm or the decryption key setting step,
Figure 112016006136940-pat00072
, Partial private key
Figure 112016006136940-pat00073
, And secret value
Figure 112016006136940-pat00074
And the decryption key of the user
Figure 112016006136940-pat00075
Can be output. The decryption key setting algorithm is performed by the receiving terminal.

구체적으로, 상기 수신 단말기는 임의의 난수

Figure 112016006136940-pat00076
를 선택하고, 아래 수학식을 연산하여 복호화키
Figure 112016006136940-pat00077
를 생성한다.Specifically, the receiving terminal transmits a random number
Figure 112016006136940-pat00076
And calculates the following equation, and outputs the decryption key
Figure 112016006136940-pat00077
.

Figure 112016006136940-pat00078
Figure 112016006136940-pat00078

생성된 복호화키

Figure 112016006136940-pat00079
는 다음과 같다.The generated decryption key
Figure 112016006136940-pat00079
Is as follows.

Figure 112016006136940-pat00080
Figure 112016006136940-pat00080

이때,

Figure 112016006136940-pat00081
Figure 112016006136940-pat00082
는 아래와 같이 정의될 수 있다.At this time,
Figure 112016006136940-pat00081
and
Figure 112016006136940-pat00082
Can be defined as follows.

Figure 112016006136940-pat00083
Figure 112016006136940-pat00083

5. 공개키 설정 알고리즘(SetPublicKey)5. Public Key Set Algorithm (SetPublicKey)

공개키 설정 알고리즘 또는 공개키 설정 단계에서는 공개 상수

Figure 112016006136940-pat00084
와 사용자의 비밀값
Figure 112016006136940-pat00085
을 입력받고 상기 사용자의 상태정보
Figure 112016006136940-pat00086
를 이용하여 공개키
Figure 112016006136940-pat00087
를 출력할 수 있다. 상기 공개키 설정 알고리즘은 수신 단말기에 의해 수행될 수 있다.In the public key establishment algorithm or public key establishment phase,
Figure 112016006136940-pat00084
And the user's secret value
Figure 112016006136940-pat00085
And receives the status information of the user
Figure 112016006136940-pat00086
Using the public key
Figure 112016006136940-pat00087
Can be output. The public key setting algorithm may be performed by the receiving terminal.

구체적으로, 상기 수신 단말기에 의해 생성된 공개키

Figure 112016006136940-pat00088
는 다음과 같다.Specifically, the public key generated by the receiving terminal
Figure 112016006136940-pat00088
Is as follows.

Figure 112016006136940-pat00089
Figure 112016006136940-pat00089

상기 공개키

Figure 112016006136940-pat00090
에 포함된
Figure 112016006136940-pat00091
는 아래 수학식을 이용하여 계산될 수 있다.The public key
Figure 112016006136940-pat00090
Included in
Figure 112016006136940-pat00091
Can be calculated using the following equation.

Figure 112016006136940-pat00092
Figure 112016006136940-pat00092

6. 암호화 알고리즘(Encrypt)6. Encryption algorithm (Encrypt)

암호화 알고리즘 또는 암호화 단계에서는 공개 상수

Figure 112016006136940-pat00093
, 수신자(또는 수신 단말기)의 아이디
Figure 112016006136940-pat00094
, 공개키
Figure 112016006136940-pat00095
, 및 메시지
Figure 112016006136940-pat00096
를 입력받아 암호문
Figure 112016006136940-pat00097
을 출력한다. 상기 암호화 알고리즘은 송신 단말기에 의해 수행될 수 있다.In the encryption algorithm or encryption phase,
Figure 112016006136940-pat00093
, The ID of the receiver (or receiving terminal)
Figure 112016006136940-pat00094
, Public key
Figure 112016006136940-pat00095
, And a message
Figure 112016006136940-pat00096
≪ / RTI >
Figure 112016006136940-pat00097
. The encryption algorithm may be performed by a transmitting terminal.

구체적으로 상기 송신 단말기는 임의의 난수

Figure 112016006136940-pat00098
를 선택하고, 아래 수학식에 의해 정의되는 암호문
Figure 112016006136940-pat00099
을 생성할 수 있다.Specifically, the transmitting terminal transmits random numbers
Figure 112016006136940-pat00098
And a cipher text defined by the following equation
Figure 112016006136940-pat00099
Can be generated.

Figure 112016006136940-pat00100
Figure 112016006136940-pat00100

7. 복호화 알고리즘(Decrypt)Decryption algorithm

복호화 알고리즘 또는 복호화 단계에서는 공개 상수

Figure 112016006136940-pat00101
, 복호화키
Figure 112016006136940-pat00102
, 및 암호문
Figure 112016006136940-pat00103
을 입력받아 메시지
Figure 112016006136940-pat00104
또는 에러 기호
Figure 112016006136940-pat00105
를 출력할 수 있다. 상기 복호화 알고리즘은 수신 단말기에 의해 수행될 수 있으며, 메시지
Figure 112016006136940-pat00106
는 아래 수학식을 이용하여 생성(또는 복호화)될 수 있다.In the decryption algorithm or decryption step,
Figure 112016006136940-pat00101
, Decryption key
Figure 112016006136940-pat00102
, And ciphertext
Figure 112016006136940-pat00103
≪ / RTI >
Figure 112016006136940-pat00104
Or error sign
Figure 112016006136940-pat00105
Can be output. The decryption algorithm may be performed by the receiving terminal,
Figure 112016006136940-pat00106
(Or decoded) using the following equation.

Figure 112016006136940-pat00107
Figure 112016006136940-pat00107

상술된 무인증서 암호 기법은 아래와 같이 평문 메시지

Figure 112016006136940-pat00108
를 구하는 과정으로부터 그 정확성이 입증될 수 있다.The above-mentioned non-certificate encryption technique is a method in which a plaintext message
Figure 112016006136940-pat00108
The accuracy can be proved from the process of obtaining.

Figure 112016006136940-pat00109
Figure 112016006136940-pat00109

도 1은 본 발명의 일 실시 예에 의한 무인증서 공개키 암호 시스템을 도시한다.FIG. 1 illustrates a non-certificate public key cryptosystem according to an embodiment of the present invention.

도 1을 참조하면, 무인증서 공개키 암호 시스템(10)은 수신 단말기(100), 서버(300) 및 송신 단말기(500)를 포함한다.Referring to FIG. 1, a non-certificate public key cryptosystem 10 includes a receiving terminal 100, a server 300, and a transmitting terminal 500.

수신 단말기(100)는 서버(300)로부터 부분 개인키

Figure 112016006136940-pat00110
를 수신하고, 비밀값
Figure 112016006136940-pat00111
을 생성하며, 수신된 부분 개인키
Figure 112016006136940-pat00112
와 생성된 비밀값
Figure 112016006136940-pat00113
을 이용하여 복호화키
Figure 112016006136940-pat00114
를 생성하며, 설정된 비밀값
Figure 112016006136940-pat00115
을 이용하여 공개키
Figure 112016006136940-pat00116
를 설정할 수 있다.The receiving terminal 100 receives the partial private key < RTI ID = 0.0 >
Figure 112016006136940-pat00110
And the secret value
Figure 112016006136940-pat00111
And the received partial private key
Figure 112016006136940-pat00112
And the generated secret value
Figure 112016006136940-pat00113
Decryption key
Figure 112016006136940-pat00114
And generates a secret value
Figure 112016006136940-pat00115
Using the public key
Figure 112016006136940-pat00116
Can be set.

또한, 수신 단말기(100)는 송신 단말기(300)로부터 암호문

Figure 112016006136940-pat00117
을 수신하고, 생성된 복호화키
Figure 112016006136940-pat00118
를 이용하여 암호문
Figure 112016006136940-pat00119
을 복호화할 수 있다.In addition, the receiving terminal 100 receives a cipher text
Figure 112016006136940-pat00117
And outputs the generated decryption key
Figure 112016006136940-pat00118
The ciphertext
Figure 112016006136940-pat00119
Can be decoded.

무인증서 공개키 암호 서버, 무인증서 암호 서버, 암호 서버, 키 생성 서버 또는 키 발급 서버 등으로 명명될 수 있는 서버(300)는 마스터키

Figure 112016006136940-pat00120
와 공개 상수
Figure 112016006136940-pat00121
를 생성하고, 생성된 공개 상수
Figure 112016006136940-pat00122
를 공개할 수 있다. 또한, 서버(300)는 사용자(또는 수신 단말기(100))의 아이디
Figure 112016006136940-pat00123
에 대응하는 부분 개인키
Figure 112016006136940-pat00124
를 생성하고 생성된 부분 개인키
Figure 112016006136940-pat00125
를 수신 단말기(100)로 송신할 수 있다.The server 300, which can be named as a non-certificate public key cryptographic server, a non-certificate secret server, a password server, a key generation server, or a key issuance server,
Figure 112016006136940-pat00120
And open constant
Figure 112016006136940-pat00121
And generates the generated public constant
Figure 112016006136940-pat00122
. In addition, the server 300 receives the ID of the user (or the receiving terminal 100)
Figure 112016006136940-pat00123
A partial private key corresponding to
Figure 112016006136940-pat00124
And generates the generated partial private key
Figure 112016006136940-pat00125
To the receiving terminal (100).

송신 단말기(500)는 암호화 알고리즘을 수행하여 메시지

Figure 112016006136940-pat00126
를 암호화하고 생성된 암호문
Figure 112016006136940-pat00127
을 수신 단말기(100)로 송신할 수 있다. The transmitting terminal 500 performs an encryption algorithm,
Figure 112016006136940-pat00126
And generates the generated ciphertext
Figure 112016006136940-pat00127
To the receiving terminal (100).

구체적으로 송신 단말기(500)는 임의의 난수

Figure 112016006136940-pat00128
를 선택하고, 아래 수학식에 의해 정의되는 암호문
Figure 112016006136940-pat00129
을 생성할 수 있다.Specifically, the transmitting terminal 500 transmits a random number
Figure 112016006136940-pat00128
And a cipher text defined by the following equation
Figure 112016006136940-pat00129
Can be generated.

Figure 112016006136940-pat00130
Figure 112016006136940-pat00130

생성된 암호문

Figure 112016006136940-pat00131
은 수신 단말기(100)로 송신될 수 있다.Generated ciphertext
Figure 112016006136940-pat00131
May be transmitted to the receiving terminal (100).

수신 단말기(100)는 및/또는 송신 단말기(300)는 PC(personal computer), 태블릿 PC, 노트북(notebook), 넷-북(net-book), e-리더(e-reader), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 또는 MP4 플레이어와 같은 데이터 처리 장치로 구현되거나, 모바일폰(mobile phone), 스마트폰(smart phone)과 같은 핸드헬드 장치(handheld device)로 구현될 수 있다.The receiving terminal 100 and / or the transmitting terminal 300 may be a personal computer (PC), a tablet PC, a notebook, a net-book, an e-reader, a personal computer a digital assistant, a portable multimedia player (PMP), an MP3 player, a MP4 player, or a handheld device such as a mobile phone or a smart phone .

도 2는 도 1에 도시된 서버의 기능 블럭도이다.2 is a functional block diagram of the server shown in FIG.

도 1과 도 2를 참조하면, 서버(300)는 설정 모듈(310)과 부분 개인키 추출 모듈(330)을 포함한다.Referring to FIGS. 1 and 2, the server 300 includes a configuration module 310 and a partial private key extraction module 330.

설정 모듈(310)은 설정 알고리즘을 수행할 수 있다. 즉, 설정 모듈(310)은 보안 상수

Figure 112016006136940-pat00132
를 입력받고 마스터키
Figure 112016006136940-pat00133
와 공개 상수
Figure 112016006136940-pat00134
를 생성하고, 공개 상수
Figure 112016006136940-pat00135
를 공개할 수 있다. The configuration module 310 may perform a configuration algorithm. In other words, the setting module 310 sets the security constant
Figure 112016006136940-pat00132
And a master key
Figure 112016006136940-pat00133
And open constant
Figure 112016006136940-pat00134
Lt; RTI ID = 0.0 >
Figure 112016006136940-pat00135
.

구체적으로, 설정 모듈(310)은 위수가 소수

Figure 112016006136940-pat00136
인 군
Figure 112016006136940-pat00137
,
Figure 112016006136940-pat00138
, 생성자
Figure 112016006136940-pat00139
, 겹선형 함수
Figure 112016006136940-pat00140
를 선택한다. 또한, 설정 모듈(310)은 임의의 난수
Figure 112016006136940-pat00141
Figure 112016006136940-pat00142
에 포함되는 임의의 원소
Figure 112016006136940-pat00143
를 선택한다. 결국, 설정 모듈(310)에 의해 생성된 마스터키
Figure 112016006136940-pat00144
Figure 112016006136940-pat00145
이고, 공개 파라미터
Figure 112016006136940-pat00146
는 다음과 같다.More specifically, the setting module 310 determines whether the number
Figure 112016006136940-pat00136
Phosphorus
Figure 112016006136940-pat00137
,
Figure 112016006136940-pat00138
, Constructor
Figure 112016006136940-pat00139
, Fold linear function
Figure 112016006136940-pat00140
. In addition, the setting module 310 may be a random number
Figure 112016006136940-pat00141
Wow
Figure 112016006136940-pat00142
Any element
Figure 112016006136940-pat00143
. As a result, the master key generated by the setting module 310
Figure 112016006136940-pat00144
The
Figure 112016006136940-pat00145
Lt; / RTI >
Figure 112016006136940-pat00146
Is as follows.

Figure 112016006136940-pat00147
Figure 112016006136940-pat00147

부분 개인키 추출 모듈(330)은 부분 개인키 추출 알고리즘을 수행할 수 있다. 즉, 부분 개인키 추출 모듈(330)은 공개 상수

Figure 112016006136940-pat00148
, 마스터키
Figure 112016006136940-pat00149
, 및 사용자의 아이디
Figure 112016006136940-pat00150
를 이용하여 부분 개인키
Figure 112016006136940-pat00151
를 생성하고, 생성된 부분 개인키
Figure 112016006136940-pat00152
를 대응하는 수신 단말기(100)로 송신할 수 있다. The partial private key extraction module 330 may perform a partial private key extraction algorithm. That is, the partial private key extraction module 330 extracts the public constant
Figure 112016006136940-pat00148
, Master key
Figure 112016006136940-pat00149
, And the user's ID
Figure 112016006136940-pat00150
The partial private key
Figure 112016006136940-pat00151
And generates the generated partial private key < RTI ID = 0.0 >
Figure 112016006136940-pat00152
To the corresponding receiving terminal (100).

구체적으로, 부분 개인키 추출 모듈(330)은 임의의 난수

Figure 112016006136940-pat00153
를 선택하고, 아래 수학식에 의해 정의되는 부분 개인키
Figure 112016006136940-pat00154
를 생성한다.Specifically, the partial private key extraction module 330 extracts a random number
Figure 112016006136940-pat00153
And selects the partial private key < RTI ID = 0.0 >
Figure 112016006136940-pat00154
.

Figure 112016006136940-pat00155
Figure 112016006136940-pat00155

생성된 부분 개인키

Figure 112016006136940-pat00156
는 수신 단말기(100)로 송신될 수 있다.Generated partial private key
Figure 112016006136940-pat00156
May be transmitted to the receiving terminal 100.

도 3은 도 1에 도시된 수신 단말기의 기능 블럭도이다.3 is a functional block diagram of the receiving terminal shown in FIG.

도 1 내지 도 3을 참조하면, 수신 단말기(100)는 비밀값 설정 모듈(110), 복호화키 설정 모듈(130), 공개키 설정 모듈(150), 및 복호화 모듈(170)을 포함한다.1 to 3, the receiving terminal 100 includes a secret value setting module 110, a decryption key setting module 130, a public key setting module 150, and a decryption module 170.

비밀값 설정 모듈(110)은 비밀값 설정 알고리즘을 수행할 수 있다. 즉, 비밀값 설정 모듈(110)은 공개 상수

Figure 112016006136940-pat00157
, 사용자의 아이디
Figure 112016006136940-pat00158
, 및 상기 사용자의 상태정보
Figure 112016006136940-pat00159
를 이용하여 비밀값
Figure 112016006136940-pat00160
을 생성할 수 있다.The secret value setting module 110 may execute a secret value setting algorithm. That is, the secret value setting module 110 sets the secret constant
Figure 112016006136940-pat00157
, The user's ID
Figure 112016006136940-pat00158
, And the status information of the user
Figure 112016006136940-pat00159
The secret value
Figure 112016006136940-pat00160
Can be generated.

구체적으로, 비밀값 설정 모듈(110)은 임의의 난수

Figure 112016006136940-pat00161
를 선택한다. 이때, 난수
Figure 112016006136940-pat00162
는 상기 수신 단말기(100)가 공개키를 생성하는 과정에서 이용될 수 있으며 수신 단말기(100)에 의해 수신 단말기(100) 내에 저장된다. 상태정보
Figure 112016006136940-pat00163
는 임의의 정수, 예컨대 "1"을 초기값으로 갖으며(즉,
Figure 112016006136940-pat00164
), 비밀값
Figure 112016006136940-pat00165
이 생성될 때마다 비밀값 설정 모듈(110)에 의해 그 값이 갱신될 수 있다(즉,
Figure 112016006136940-pat00166
). 비밀값 설정 모듈(110)에 의해 생성된 비밀값
Figure 112016006136940-pat00167
는 다음과 같다.Specifically, the secret value setting module 110 sets the secret value
Figure 112016006136940-pat00161
. At this time,
Figure 112016006136940-pat00162
May be used in the process of generating the public key by the receiving terminal 100 and stored in the receiving terminal 100 by the receiving terminal 100. [ Status information
Figure 112016006136940-pat00163
Quot; 1 "as an initial value (i.e.,
Figure 112016006136940-pat00164
), Secret value
Figure 112016006136940-pat00165
The value can be updated by the secret value setting module 110 (that is,
Figure 112016006136940-pat00166
). The secret value generated by the secret value setting module 110
Figure 112016006136940-pat00167
Is as follows.

Figure 112016006136940-pat00168
Figure 112016006136940-pat00168

복호화키 설정 모듈(130)은 복호화키 설정 알고리즘을 수행할 수 있다. 즉, 복호화키 설정 모듈(130)은 공개 상수

Figure 112016006136940-pat00169
, 부분 개인키
Figure 112016006136940-pat00170
, 및 비밀값
Figure 112016006136940-pat00171
을 이용하여 사용자(또는 수신 단말기(100))의 복호화키
Figure 112016006136940-pat00172
를 생성할 수 있다.The decryption key setting module 130 may perform a decryption key setting algorithm. That is, the decryption key setting module 130 sets the decryption key
Figure 112016006136940-pat00169
, Partial private key
Figure 112016006136940-pat00170
, And secret value
Figure 112016006136940-pat00171
(Or receiving terminal 100) using the decryption key
Figure 112016006136940-pat00172
Lt; / RTI >

구체적으로, 복호화키 설정 모듈(130)은 임의의 난수

Figure 112016006136940-pat00173
를 선택하고, 아래 수학식을 연산하여 복호화키
Figure 112016006136940-pat00174
를 생성한다.Specifically, the decryption key setting module 130 sets a random number
Figure 112016006136940-pat00173
And calculates the following equation, and outputs the decryption key
Figure 112016006136940-pat00174
.

Figure 112016006136940-pat00175
Figure 112016006136940-pat00175

생성된 복호화키

Figure 112016006136940-pat00176
는 다음과 같다.The generated decryption key
Figure 112016006136940-pat00176
Is as follows.

Figure 112016006136940-pat00177
Figure 112016006136940-pat00177

이때,

Figure 112016006136940-pat00178
Figure 112016006136940-pat00179
는 아래와 같이 정의될 수 있다.At this time,
Figure 112016006136940-pat00178
and
Figure 112016006136940-pat00179
Can be defined as follows.

Figure 112016006136940-pat00180
Figure 112016006136940-pat00180

공개키 설정 모듈(150)은 공개키 설정 알고리즘을 수행할 수 있다. 즉, 공개 상수

Figure 112016006136940-pat00181
와 비밀값
Figure 112016006136940-pat00182
, 및 상태정보
Figure 112016006136940-pat00183
를 이용하여 공개키
Figure 112016006136940-pat00184
를 생성할 수 있다. The public key configuration module 150 may perform a public key configuration algorithm. That is,
Figure 112016006136940-pat00181
And secret value
Figure 112016006136940-pat00182
, And status information
Figure 112016006136940-pat00183
Using the public key
Figure 112016006136940-pat00184
Lt; / RTI >

구체적으로, 공개키 설정 모듈(150)에 의해 생성된 공개키

Figure 112016006136940-pat00185
는 다음과 같다.Specifically, the public key generated by the public key setting module 150
Figure 112016006136940-pat00185
Is as follows.

Figure 112016006136940-pat00186
Figure 112016006136940-pat00186

공개키

Figure 112016006136940-pat00187
에 포함된
Figure 112016006136940-pat00188
는 아래 수학식을 이용하여 계산될 수 있다.Public key
Figure 112016006136940-pat00187
Included in
Figure 112016006136940-pat00188
Can be calculated using the following equation.

Figure 112016006136940-pat00189
Figure 112016006136940-pat00189

복호화 모듈(170)은 복호화 알고리즘을 수행할 수 있다. 즉, 복호화 모듈(170)은 공개 상수

Figure 112016006136940-pat00190
, 및 복호화키
Figure 112016006136940-pat00191
를 이용하여 암호문
Figure 112016006136940-pat00192
을 복호화함으로써 메시지
Figure 112016006136940-pat00193
를 출력할 수 있다. 메시지
Figure 112016006136940-pat00194
는 아래 수학식을 이용하여 생성(또는 복호화)될 수 있다.The decryption module 170 may perform a decryption algorithm. That is, the decryption module 170 determines
Figure 112016006136940-pat00190
, And decryption key
Figure 112016006136940-pat00191
The ciphertext
Figure 112016006136940-pat00192
Lt; RTI ID = 0.0 >
Figure 112016006136940-pat00193
Can be output. message
Figure 112016006136940-pat00194
(Or decoded) using the following equation.

Figure 112016006136940-pat00195
Figure 112016006136940-pat00195

도 2 및 도 3에 도시된 서버(300)와 수신 단말기(100)의 구성들 각각은 기능 및 논리적으로 분리될 수 있음으로 나타내는 것이며, 반드시 각각의 구성이 별도의 물리적 장치로 구분되거나 별도의 코드로 작성됨을 의미하는 것이 아님을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.Each of the configurations of the server 300 and the receiving terminal 100 shown in FIG. 2 and FIG. 3 may be functionally and logically separated, and each configuration may be divided into a separate physical device or a separate code It will be readily apparent to one of ordinary skill in the art to which the present invention pertains.

또한, 본 명세서에서 모듈이라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 모듈은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것이 아니다.In this specification, a module may mean a functional and structural combination of hardware for carrying out the technical idea of the present invention and software for driving the hardware. For example, the module may mean a logical unit of a predetermined code and a hardware resource for executing the predetermined code, and does not necessarily mean a physically connected code or a kind of hardware.

본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.

100 : 수신 단말기
110 : 비밀값 설정 모듈
130 : 복호화키 설정 모듈
150 : 공개키 설정 모듈
170 : 복호화 모듈
300 : 서버
310 : 설정 모듈
330 : 부분 개인키 추출 모듈
500 : 송신 단말기
100: receiving terminal
110: secret value setting module
130: Decryption key setting module
150: Public key setting module
170: Decryption module
300: server
310: Setting module
330: Partial private key extraction module
500: transmitting terminal

Claims (10)

수신 단말기, 송신 단말기 및 서버를 포함하는 무인증서 공개키 암호 시스템에 있어서,
상기 서버는,
보안 상수를 입력받아 마스터키와 공개 상수를 생성하고, 상기 공개 상수를 공개하는 설정 모듈; 및
상기 공개 상수와 상기 마스터키를 이용하여 상기 수신 단말기의 부분 개인키를 생성하고, 상기 부분 개인키를 상기 수신 단말기로 송신하는 부분 개인키 추출 모듈을 포함하고,
상기 수신 단말기는,
상기 공개 상수, 상기 수신 단말기의 아이디 및 상기 수신 단말기의 상태 정보(
Figure 112017044014454-pat00196
)를 이용하여 비밀값을 생성하는 비밀값 설정 모듈; 및
상기 공개 상수, 상기 비밀값 및 상기 상태 정보(
Figure 112017044014454-pat00197
)를 이용하여 공개키를 생성하는 공개키 설정 모듈을 포함하고,
상기 송신 단말기는 상기 공개 상수, 상기 수신 단말기의 아이디 및 상기 공개키를 이용하여 메시지를 암호화하고, 생성된 암호문을 상기 수신 단말기로 송신하고,
상기 수신 단말기는,
상기 공개 상수, 상기 부분 개인키 및 상기 비밀값을 이용하여 복호화키를 생성하는 복호화키 설정 모듈; 및
상기 공개 상수와 상기 복호화키를 이용하여 상기 암호문을 복호화하는 복호화 모듈을 더 포함하고,
상기 설정 모듈은,
위수가 소수
Figure 112017044014454-pat00232
인 군(
Figure 112017044014454-pat00233
), 생성자(
Figure 112017044014454-pat00234
), 및 겹선형 함수(
Figure 112017044014454-pat00235
)를 선택하고,
임의의 난수(
Figure 112017044014454-pat00236
)와 상기
Figure 112017044014454-pat00237
에 속하는 임의의 원소(
Figure 112017044014454-pat00238
)를 선택하고,
수학식 1에 의해 정의되는 상기 마스터키(
Figure 112017044014454-pat00239
)와 수학식 2에 의해 정의되는 상기 공개 상수(
Figure 112017044014454-pat00240
)를 생성하고,
상기 수학식 1은
Figure 112017044014454-pat00241
이고,
상기 수학식 2는
Figure 112017044014454-pat00242
이고,
상기 부분 개인키 추출 모듈은 임의의 난수(
Figure 112017044014454-pat00243
)를 선택하고, 수학식 3에 의해 정의되는 상기 부분 개인키(
Figure 112017044014454-pat00244
)를 생성하고,
상기 수학식 3은
Figure 112017044014454-pat00245
이고,
상기 비밀값 설정 모듈은 임의의 난수(
Figure 112017044014454-pat00246
)를 선택하고,
상기 비밀값(
Figure 112017044014454-pat00247
)은 수학식 4에 의해 정의되고,
상기 수학식 4는
Figure 112017044014454-pat00248
인,
무인증서 공개키 암호 시스템.
A non-certificate public key cryptosystem comprising a receiving terminal, a transmitting terminal and a server,
The server comprises:
A setting module for receiving a security constant and generating a master key and an open constant, and disclosing the open constant; And
A partial private key extraction module for generating a partial private key of the receiving terminal using the public constant and the master key and transmitting the partial private key to the receiving terminal,
The receiving terminal,
The disclosure constant, the ID of the receiving terminal, and the status information of the receiving terminal
Figure 112017044014454-pat00196
A secret value setting module for generating a secret value using the secret value; And
The disclosure constant, the secret value, and the status information (
Figure 112017044014454-pat00197
And a public key setting module for generating a public key using the public key,
The transmitting terminal encrypts a message using the public constant, the ID of the receiving terminal, and the public key, transmits the generated ciphertext to the receiving terminal,
The receiving terminal,
A decryption key setting module for generating a decryption key using the public constant, the partial private key, and the secret value; And
And a decryption module for decrypting the cipher text using the decryption key and the public constant,
Wherein the setting module comprises:
The number of stars
Figure 112017044014454-pat00232
Phosphorus (
Figure 112017044014454-pat00233
), Constructor (
Figure 112017044014454-pat00234
), And a folded linear function (
Figure 112017044014454-pat00235
) Is selected,
Any random number (
Figure 112017044014454-pat00236
) And the above
Figure 112017044014454-pat00237
≪ / RTI > (
Figure 112017044014454-pat00238
) Is selected,
The master key (< RTI ID = 0.0 >
Figure 112017044014454-pat00239
) And the open constant < RTI ID = 0.0 > (
Figure 112017044014454-pat00240
),
Equation (1)
Figure 112017044014454-pat00241
ego,
Equation (2)
Figure 112017044014454-pat00242
ego,
The partial private key extraction module may extract random numbers
Figure 112017044014454-pat00243
) And the partial private key < RTI ID = 0.0 > (
Figure 112017044014454-pat00244
),
Equation (3)
Figure 112017044014454-pat00245
ego,
The secret value setting module may generate random numbers
Figure 112017044014454-pat00246
) Is selected,
The secret value (
Figure 112017044014454-pat00247
) Is defined by Equation (4)
Equation (4)
Figure 112017044014454-pat00248
sign,
Non - certificate public key cryptosystem.
삭제delete 삭제delete 삭제delete 삭제delete 제1항에 있어서,
상기 복호화키 설정 모듈은,
임의의 난수(
Figure 112017044014454-pat00215
)를 선택하고,
수학식 5를 계산하여 상기 복호화키(
Figure 112017044014454-pat00216
)를 생성하고,
상기 수학식 5는
Figure 112017044014454-pat00217
인,
무인증서 공개키 암호 시스템.
The method according to claim 1,
Wherein the decryption key setting module comprises:
Any random number (
Figure 112017044014454-pat00215
) Is selected,
≪ / RTI >< RTI ID = 0.0 > (5)
Figure 112017044014454-pat00216
),
Equation (5)
Figure 112017044014454-pat00217
sign,
Non - certificate public key cryptosystem.
제6항에 있어서,
상기 공개키 설정 모듈은 수학식 6을 이용하여 상기 공개키(
Figure 112016006136940-pat00218
)를 생성하고,
상기 수학식 6은
Figure 112016006136940-pat00219
인,
무인증서 공개키 암호 시스템.
The method according to claim 6,
The public key configuration module uses the public key (
Figure 112016006136940-pat00218
),
Equation (6)
Figure 112016006136940-pat00219
sign,
Non - certificate public key cryptosystem.
제7항에 있어서,
상기 송신 단말기는 임의의 난수(
Figure 112016006136940-pat00220
)를 선택하고, 수학식 7을 이용하여 상기 암호문(
Figure 112016006136940-pat00221
)을 생성하고,
상기 수학식 7은
Figure 112016006136940-pat00222
인,
무인증서 공개키 암호 시스템.
8. The method of claim 7,
The transmitting terminal may transmit an arbitrary random number (
Figure 112016006136940-pat00220
) Is selected, and the cipher text (
Figure 112016006136940-pat00221
),
Equation (7)
Figure 112016006136940-pat00222
sign,
Non - certificate public key cryptosystem.
제8항에 있어서,
상기 복호화 모듈은 수학식 8을 이용하여 상기 암호문(
Figure 112016006136940-pat00223
)을 복호화하고,
상기 수학식 8은
Figure 112016006136940-pat00224
인,
무인증서 공개키 암호 시스템.
9. The method of claim 8,
The decryption module decrypts the cipher text (
Figure 112016006136940-pat00223
),
Equation (8)
Figure 112016006136940-pat00224
sign,
Non - certificate public key cryptosystem.
삭제delete
KR1020160006629A 2016-01-19 2016-01-19 Certificateless public key encryption system and receiving terminal Active KR101793528B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160006629A KR101793528B1 (en) 2016-01-19 2016-01-19 Certificateless public key encryption system and receiving terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160006629A KR101793528B1 (en) 2016-01-19 2016-01-19 Certificateless public key encryption system and receiving terminal

Publications (2)

Publication Number Publication Date
KR20170087120A KR20170087120A (en) 2017-07-28
KR101793528B1 true KR101793528B1 (en) 2017-11-06

Family

ID=59422241

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160006629A Active KR101793528B1 (en) 2016-01-19 2016-01-19 Certificateless public key encryption system and receiving terminal

Country Status (1)

Country Link
KR (1) KR101793528B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3740921A4 (en) * 2018-01-17 2021-11-10 tZERO IP, LLC MULTI-APPROVAL SYSTEM USING M OF N BUTTONS TO GENERATE A SWEEP TRANSACTION ON A CUSTOMER DEVICE
KR102248756B1 (en) 2019-07-18 2021-05-07 국방과학연구소 Encryption system, apparatus and method for providing searchable having forward stability
KR102117871B1 (en) * 2019-10-11 2020-06-09 (주)소프트제국 A method and system for simple authentication through distributed storage of public key and private key elements

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006311136A (en) * 2005-04-27 2006-11-09 Sanyo Electric Co Ltd Terminal and program to be applied to the same

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006311136A (en) * 2005-04-27 2006-11-09 Sanyo Electric Co Ltd Terminal and program to be applied to the same

Also Published As

Publication number Publication date
KR20170087120A (en) 2017-07-28

Similar Documents

Publication Publication Date Title
US10785019B2 (en) Data transmission method and apparatus
US8670563B2 (en) System and method for designing secure client-server communication protocols based on certificateless public key infrastructure
CN108352015B (en) Secure multi-party loss-resistant storage and encryption key transfer for blockchain based systems in conjunction with wallet management systems
US12010216B2 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
Tseng et al. A chaotic maps-based key agreement protocol that preserves user anonymity
CN108282329B (en) Bidirectional identity authentication method and device
US8433066B2 (en) Method for generating an encryption/decryption key
CN108347404B (en) Identity authentication method and device
WO2017004470A1 (en) Mutual authentication of confidential communication
KR101516114B1 (en) Certificate-based proxy re-encryption method and its system
US11528127B2 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
Jiang et al. Device-enhanced secure cloud storage with keyword searchable encryption and deduplication
KR101793528B1 (en) Certificateless public key encryption system and receiving terminal
Sinnhofer et al. Patterns to establish a secure communication channel
KR101912443B1 (en) Public key based encryption method and key generation server
Buhari et al. Web applications login authentication scheme using hybrid cryptography with user anonymity
KR101599996B1 (en) Server and system for revocable identity based encryption
JP6153454B2 (en) Signature apparatus, method and program
Mary Sheeba et al. Hybrid Security for Data in Cloud Computing: A Review
Bruce et al. Cryptographic computation of private shared key based mutual authentication protocol: Simulation and modeling over wireless networks
KR101740958B1 (en) Encryption system and method
HK40095834A (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
Rao et al. Application of elliptical curve cryptography in empowering cloud data security
Chałupnik et al. Correspondent Sensitive Encryption Standard (CSES) Algorithm in Insecure
CN112350822A (en) Key distribution method, device and equipment

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20160119

PA0201 Request for examination
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20170308

Patent event code: PE09021S01D

AMND Amendment
PG1501 Laying open of application
E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20170805

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20170308

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I

AMND Amendment
PX0901 Re-examination

Patent event code: PX09011S01I

Patent event date: 20170805

Comment text: Decision to Refuse Application

Patent event code: PX09012R01I

Patent event date: 20170508

Comment text: Amendment to Specification, etc.

PX0701 Decision of registration after re-examination

Patent event date: 20171010

Comment text: Decision to Grant Registration

Patent event code: PX07013S01D

Patent event date: 20170905

Comment text: Amendment to Specification, etc.

Patent event code: PX07012R01I

Patent event date: 20170805

Comment text: Decision to Refuse Application

Patent event code: PX07011S01I

Patent event date: 20170508

Comment text: Amendment to Specification, etc.

Patent event code: PX07012R01I

X701 Decision to grant (after re-examination)
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20171030

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20171030

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20201123

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20211018

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20241002

Start annual number: 8

End annual number: 8