KR100872817B1 - Method for Key Exchange Based on Varient of the Diffie Hellman - Google Patents

Method for Key Exchange Based on Varient of the Diffie Hellman Download PDF

Info

Publication number
KR100872817B1
KR100872817B1 KR1020060123816A KR20060123816A KR100872817B1 KR 100872817 B1 KR100872817 B1 KR 100872817B1 KR 1020060123816 A KR1020060123816 A KR 1020060123816A KR 20060123816 A KR20060123816 A KR 20060123816A KR 100872817 B1 KR100872817 B1 KR 100872817B1
Authority
KR
South Korea
Prior art keywords
communication device
key
public key
secret
mod
Prior art date
Application number
KR1020060123816A
Other languages
Korean (ko)
Other versions
KR20080051947A (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 KR1020060123816A priority Critical patent/KR100872817B1/en
Publication of KR20080051947A publication Critical patent/KR20080051947A/en
Application granted granted Critical
Publication of KR100872817B1 publication Critical patent/KR100872817B1/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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • 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

Abstract

본 발명은 변형 디피 헬만 기반 키교환 방법에 관한 것으로서, 이산로그문제(Discrete Logarithm Problem)에 기반한 디피 헬만(Diffie Hellman) 키교환 방법을 변형시켜 암호화 및 인증된 데이터에 적용시킬 수 있고, 상기 변형된 키교환 방법은 각각의 통신기기가 각종 키를 교환하기 위하여 수행하는 연산에 있어 다수의 비밀키를 사전에 생성시켜 유지 및 관리하도록 데이터베이스화 함으로써, 상기 비밀키를 생성하기 위하여 연산하는 시간을 감소시킬 수 있으며, 이에 따라 키교환에 요구되는 시간을 실시간으로 단축가능하고, 암호화된 스트리밍 서비스를 제공하는 통신기기에 적용함으로써 상기 서비스 제공 통신기기에 서비스를 요청하는 다수의 통신기기에 대하여 신속하게 응답할 수 있는 변형 디피 헬만 기반 키교환 방법을 제공하기 위한 것으로서, 그 기술적 구성은 암호화 및 인증처리된 데이터를 송, 수신하기 위해 통신기기 간에 실시되는 디피 헬만 기반 키교환 방법에 있어서, 상기 데이터를 송, 수신하기 위해 제1 통신기기는 고유의 비밀키 및 각 변수로 공개키를 생성하여 상기 공개키를 대향하는 제2 통신기기로 송신하는 단계; 상기 제2 통신기기는 기 설정된 고유의 비밀키를 상기 제1 통신기기로부터 수신한 공개키에 적용 및 계산하여 제2 통신기기의 공개키를 상기 제1 통신기기로 송신하는 단계; 상기 제2 통신기기의 수신된 공개키에 상기 제1 통신기기의 비밀키를 적용 및 계산하여 공유키를 산출하는 단계; 로 이루어지는 것을 특징으로 한다.The present invention relates to a modified Diffie Hellman-based key exchange method, which can be applied to encrypted and authenticated data by modifying the Diffie Hellman key exchange method based on the Discrete Logarithm Problem. In the key exchange method, a database for generating, maintaining, and managing a plurality of secret keys in advance in operations performed by each communication device to exchange various keys can be used to reduce the time required to generate the secret keys. Accordingly, the time required for the key exchange can be shortened in real time, and the present invention can be quickly applied to a plurality of communication devices requesting a service from the service providing communication device by applying to a communication device providing an encrypted streaming service. To provide a modified Diffie Hellman-based key exchange method, The configuration is a Diffelmann-based key exchange method performed between communication devices for transmitting and receiving encrypted and authenticated data, wherein the first communication device uses a unique secret key and each variable to transmit and receive the data. Generating a public key and transmitting the public key to an opposing second communication device; Transmitting, by the second communication device, the public key of the second communication device to the first communication device by applying and calculating a predetermined unique secret key to the public key received from the first communication device; Calculating a shared key by applying and calculating a secret key of the first communication device to the received public key of the second communication device; Characterized in that consists of.

Diffie Hellman, 키교환, 공유키, 공개키, 비밀키 Diffie Hellman, Key Exchange, Shared Key, Public Key, Private Key

Description

변형 디피 헬만 기반 키교환 방법{Method for Key Exchange Based on Varient of the Diffie Hellman}Method for Key Exchange Based on Varient of the Diffie Hellman}

도 1은 본 발명에 따른 변형 디피 헬만 기반 키교환 방법을 나타내는 개략적인 흐름도.1 is a schematic flow diagram illustrating a modified Diffie Hellman based key exchange method according to the present invention.

도 2는 본 발명에 따른 변형 디피 헬만 기반 키교환 방법을 개략적으로 설명하는 처리 순서도.2 is a process flow diagram schematically illustrating a modified Diffie Hellman based key exchange method in accordance with the present invention.

도 3은 본 발명에 따른 변형 디피 헬만 기반 키교환 방법의 공유키 교환을 개략적으로 도시한 도.3 is a diagram schematically illustrating a shared key exchange of a modified Diffie Hellman based key exchange method according to the present invention.

도 4는 본 발명의 실시예에 따른 변형 디피 헬만 기반 키교환 방법을 도시한 도.4 illustrates a modified Diffie Hellman based key exchange method according to an embodiment of the present invention.

<도면의 주요 부분에 대한 도면 부호의 설명><Description of reference numerals for the main parts of the drawings>

10: 제1 통신기기 20: 제2 통신기기10: first communication device 20: second communication device

30: 제3 통신기기 40: 제4 통신기기30: third communication device 40: fourth communication device

20a, 20b: 비밀키 30a: 공개키(X)20a, 20b: private key 30a: public key (X)

30b: 공개키(Y) 40a, 40b: 공유키(K)30b: public key (Y) 40a, 40b: shared key (K)

본 발명은 변형 디피 헬만 기반 키교환 방법에 관한 것으로, 더욱 상세하게는 이산로그문제(Discrete Logarithm Problem)에 기반한 디피 헬만(Diffie Hellman) 키교환 방법을 변형시켜 암호화 및 인증된 데이터에 적용시킬 수 있고, 상기 변형된 키교환 방법은 각각의 통신기기가 각종 키를 교환하기 위하여 수행하는 연산에 있어 다수의 비밀키를 사전에 생성시켜 유지 및 관리하도록 데이터베이스화 함으로써, 상기 비밀키를 생성하기 위하여 연산하는 시간을 감소시킬 수 있으며, 이에 따라 키교환에 요구되는 시간을 실시간으로 단축가능하고, 암호화된 스트리밍 서비스를 제공하는 통신기기에 적용함으로써 상기 서비스 제공 통신기기에 서비스를 요청하는 다수의 통신기기에 대하여 신속하게 응답할 수 있는 명칭에 관한 것이다.The present invention relates to a modified Diffie Hellman-based key exchange method, and more particularly, to modify the Diffie Hellman key exchange method based on the Discrete Logarithm Problem and apply it to encrypted and authenticated data. The modified key exchange method includes a database for generating, maintaining, and managing a plurality of secret keys in advance in an operation performed by each communication device to exchange various keys. The time required for key exchange can be shortened in real time, and a plurality of communication devices requesting a service from the service providing communication device can be applied to a communication device providing an encrypted streaming service in real time. It is about a name that can respond quickly.

일반적으로, IPsec(Internet Protocol Security System)은 인터넷 통신 보안에 관한 통신 규약으로써, 이는 OSI(Open Systems Interconnection) 참조 모델의 제3 계층인 IP 계층에 탑재되며, 인터넷을 경유하여 통신을 하는 두 상대 호스트는 IPsec으로 보안된 데이터를 주고받을 수 있다.In general, the Internet Protocol Security System (IPsec) is a communication protocol for Internet communication security, which is mounted on the IP layer, which is the third layer of the Open Systems Interconnection (OSI) reference model, and has two partner hosts communicating with each other through the Internet. Can send and receive data secured with IPsec.

그리고, IPsec의 암호화된 키를 계산하기 위한 패킷을 전송할 때마다 공개 키와 개인키를 교환하는 디피 헬만(Diffie Hellman) 방식은 통신을 위한 두 상대 호스트는 외부에 공개되지 않은 비밀키를 각각 가지고, 상대 호스트에게 전달하여 외부에 공개되는 공개키에 상기 개인키를 대입하여 계산하며, 계산된 공개키는 각 상대 호스트에게 전송되어 공유키(Shared Key)를 각각 산출한다.In addition, the Diffie Hellman method of exchanging a public key and a private key every time a packet for calculating an IPsec encrypted key is transmitted has two counterpart hosts for communication, each having a secret key that is not publicly disclosed. The private key is calculated by substituting the private key to a public key disclosed to the external host, and the calculated public key is transmitted to each counterpart host to calculate a shared key.

그러나, 공개키를 계산하는 수식에 지수함수가 포함되어 이산로그문제(Discrete Logarithm Problem)를 연산하기 위한 계산량 및 계산시간이 방대하여 다수의 호스트가 암호화 및 인증된 데이터를 요구할 시에, 각각의 공개키를 생성하는데 호스트의 수와 계산량 및 계산시간이 비례하므로 상기 호스트의 요구에 응답하는 시간이 지연되는 등의 문제점이 있었다.However, the formula for calculating the public key includes an exponential function, so that a large amount of computation and calculation time for computing a discrete logarithm problem require a large number of hosts to request encrypted and authenticated data. Since the number of hosts and the amount of computation and the computation time are proportional to each other, there is a problem such as a delay in response to the request of the host.

본 발명은 상기한 문제점을 해결하기 위하여 안출한 것으로, 이산로그문제(Discrete Logarithm Problem)에 기반한 디피 헬만(Diffie Hellman) 키교환 방법을 변형시켜 암호화 및 인증된 데이터에 적용시킬 수 있고, 상기 변형된 키교환 방법은 각각의 통신기기가 각종 키를 교환하기 위하여 수행하는 연산에 있어 다수의 비밀키를 사전에 생성시켜 유지 및 관리하도록 데이터베이스화 함으로써, 상기 비밀키를 생성하기 위하여 연산하는 시간을 감소시킬 수 있으며, 이에 따라 키교환에 요구되는 시간을 실시간으로 단축가능하고, 암호화된 스트리밍 서비스를 제공하는 통신기기에 적용함으로써 상기 서비스 제공 통신기기에 서비스를 요청하는 다수의 통신기기에 대하여 신속하게 응답할 수 있는 변형 디피 헬만 기반 키교환 방법을 제공하는 것을 목적으로 한다.The present invention has been made to solve the above problems, it can be applied to the encrypted and authenticated data by modifying the Diffie Hellman key exchange method based on the Discrete Logarithm Problem, In the key exchange method, a database for generating, maintaining, and managing a plurality of secret keys in advance in operations performed by each communication device to exchange various keys can be used to reduce the time required to generate the secret keys. Accordingly, the time required for the key exchange can be shortened in real time, and the present invention can be quickly applied to a plurality of communication devices requesting a service from the service providing communication device by applying to a communication device providing an encrypted streaming service. An object of the present invention is to provide a modified Diffie Hellman based key exchange method.

상기한 바와 같은 목적을 달성하기 위하여 본 발명은 암호화 및 인증처리된 데이터를 송, 수신하기 위해 통신기기 간에 실시되는 변형 디피 헬만 기반 키교환 방법에 있어서, 상기 데이터를 송, 수신하기 위해 제1 통신기기는 고유의 비밀키 및 각 변수로 공개키를 생성하여 상기 공개키를 대향하는 제2 통신기기로 송신하는 단계; 상기 제2 통신기기는 기 설정된 고유의 비밀키를 상기 제1 통신기기로부터 수신한 공개키에 적용 및 계산하여 제2 통신기기의 공개키를 산출하고, 상기 제2 통신기기의 공개키를 제1 통신기기로 송신하는 단계; 상기 제2 통신기기의 공개키에 상기 제1 통신기기의 비밀키를 적용 및 계산하여 공유키를 산출하는 단계로 이루어지는 것을 특징으로 한다.In order to achieve the above object, the present invention provides a modified diff helmmann-based key exchange method implemented between communication devices for transmitting and receiving encrypted and authenticated data, the first communication for transmitting and receiving the data. The device generating a public key with a unique secret key and each variable and transmitting the public key to an opposing second communication device; The second communication device calculates the public key of the second communication device by applying and calculating a predetermined unique private key to the public key received from the first communication device, and calculates the public key of the second communication device as the first key. Transmitting to a communication device; And calculating a shared key by applying and calculating the secret key of the first communication device to the public key of the second communication device.

그리고, 상기 제2 통신기기는 고유의 비밀키를 기 생성시키되, 상기 제2 통신기기 고유의 비밀키는 gyi, yi 로 쌍을 이루고, 상기 g는 생성자인 변수, y는 상기 제2 통신기기의 고유의 비밀키, i는 기 생성된 수를 나타내는 것을 특징으로 한다.The second communication device generates a unique secret key in advance, and a secret key unique to the second communication device is paired with g yi and yi, g is a constructor variable, and y is the second communication device. Is a unique secret key, i, characterized in that it represents a previously generated number.

또한, 상기 제1 통신기기의 공개키는 X = gx mod p 로 정의되고, 상기 제2 통신기기의 공개키는 Y = (gx)y mod p 로 정의되며, 상기 g 는 생성자인 변수, x 는 상기 제1 통신기기 고유의 비밀키, y는 상기 제2 통신기기의 기 생성된 비밀키, p 는 변수, mod 는 모듈로 연산을 나타내는 것을 특징으로 한다.In addition, the public key of the first communication device is defined as X = g x mod p, the public key of the second communication device is defined as Y = (g x ) y mod p, where g is a variable that is a constructor, x denotes a secret key unique to the first communication device, y denotes a previously generated secret key of the second communication device, p denotes a variable, and mod denotes a modulo operation.

더불어, 상기 제1 통신기기의 공유키는 K = (Y)1/x mod p 로 정의되며, 상기 Y 는 상기 제2 통신기기의 공개키, x 는 상기 제1 통신기기 고유의 비밀키, p 는 변수, mod 는 모듈로 연산을 나타내는 것을 특징으로 한다.In addition, the shared key of the first communication device is defined as K = (Y) 1 / x mod p, wherein Y is the public key of the second communication device, x is a secret key unique to the first communication device, p Is a variable, and mod is a modulo operation.

또한, 상기 제2 통신기기의 공유키는 K = gy mod p 로 정의되며, 상기 y 는 상기 제2 통신기기의 비밀키, p 는 변수, mod 는 모듈로 연산을 나타내는 것을 특징으로 한다.In addition, the shared key of the second communication device is defined as K = g y mod p, wherein y is a secret key of the second communication device, p is a variable, mod is modulo operation.

삭제delete

더불어, 상기 제2 통신기기의 기 생성된 비밀키는 gy , 상기 제1 통신기기의 공개키는 X = gx mod p , 상기 제2 통신기기의 공개키는 Y = (gx)y mod p 로 나타나는 것을 특징으로 한다.In addition, the pre-generated secret key of the second communication device is g y , the public key of the first communication device is X = g x mod p, the public key of the second communication device is Y = (g x ) y mod It is characterized by being represented by p.

삭제delete

이하, 본 발명에 따른 실시예를 첨부된 예시도면을 참고로 하여 상세하게 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 변형 디피 헬만 기반 키교환 방법을 나타내는 개략적인 흐름도이다. 도면에서 도시하고 있는 바와 같이, 네트워크 또는 인터넷상에 암호화 및 인증된 데이터를 송, 수신하기 위하여, 제1 통신기기(10) 고유의 비밀키(20a)와 각 변수로 공개키(30a)를 생성시키고, 상기 제1 통신기기(10)에 대향하는 제2 통신기기(20)로 상기 공개키(30a)를 송신한다(S10).1 is a schematic flow diagram illustrating a modified diffie Hellman based key exchange method according to the present invention. As shown in the figure, in order to transmit and receive encrypted and authenticated data on a network or the Internet, a private key 20a unique to the first communication device 10 and a public key 30a are generated from each variable. The public key 30a is transmitted to the second communication device 20 facing the first communication device 10 (S10).

그리고, 상기 제2 통신기기(20)는 상기 제2 통신기기(20) 고유의 비밀키(20b)를 사전에 생성시키고, 상기 비밀키(20b)를 상기 제1 통신기기의 공개키(30a)에 상기 비밀키(20b)를 적용 및 계산하여 제2 통신기기의 공개키(30b)를 형성시키며, 이를 제1 통신기기(10)로 송신한다(S30).The second communication device 20 generates a secret key 20b unique to the second communication device 20 in advance, and generates the secret key 20b in the public key 30a of the first communication device. Applying and calculating the secret key 20b to form a public key 30b of the second communication device, and transmits it to the first communication device 10 (S30).

또한, 상기 제2 통신기기(20)로부터 수신된 제2 통신기기의 공개키(30b)에 제1 통신기기(10)의 비밀키(20a)를 적용 및 계산하여 공유키(40a)를 산출하며, 상기 제2 통신기기(20)는 상기 제2 통신기기(20)의 각 변수 및 비밀키를 조합하여 공유키(40b)를 산출하고, 상기 제1 통신기기(10)의 공유키(40a)와 상기 제2 통신기기(20)의 공유키(40b)는 동일하여, 암호화된 데이터 또는 인증된 데이터를 전송할 수 있다(S50).In addition, the shared key 40a is calculated by applying and calculating the secret key 20a of the first communication device 10 to the public key 30b of the second communication device received from the second communication device 20. The second communication device 20 combines each variable and the secret key of the second communication device 20 to calculate a shared key 40b, and shares the shared key 40a of the first communication device 10. The shared key 40b of the second communication device 20 is the same and may transmit encrypted data or authenticated data (S50).

도 2는 본 발명에 따른 변형 디피 헬만 기반 키교환 방법을 개략적으로 설명하는 처리 순서도이다. 도면에서 도시하고 있는 바와 같이, 암호화 및 인증 데이터를 전송하기 위하여 각종 키를 교환하는 방법에 있어서 제1 통신기기와 제2 통신기기는 키교환을 실시하는 기기의 세트이고, 상기 제1 통신기기와 제2 통신기기가 키 교환을 실시하기 전에 변수(g)와 변수(p)는 미리 알고 있는 것으로 가정하며, 상기 변수(g)와 변수(p)는 키교환 처리의 연산에 이용되는 변수이지만, 그 값은 제3자(남용자)에게 알려져도 좋다고 가정한다.2 is a process flow diagram schematically illustrating a modified Diffie Hellman based key exchange method according to the present invention. As shown in the figure, in the method of exchanging various keys for transmitting encryption and authentication data, the first communication device and the second communication device are a set of devices for exchanging keys, and It is assumed that the variable g and the variable p are known before the second communication device performs the key exchange, and the variable g and the variable p are variables used for the operation of the key exchange process. It is assumed that the value may be known to third parties (abuse).

그리고, 그룹(G)은 순환하는 유한그룹(Cyclic Finite Group)에 기반하며, 상기 그룹의 차수는 해당하는 그룹을 판별하는 비밀 파라미터와 관련이 있으며, 예를들면, 타원 곡선(Elliptic Curve)에서의 덧셈군(Additive Group) 또는 Z* p 등이고, 상기 변수(g)에서의 g는 생성자이며, 이산 로그 문제(Discrete Logarithm Problem)에 있어서 상기 그룹(G)를 생성하기 위하여 요구된다.The group G is based on a cyclic Cyclic Finite Group, where the order of the group is associated with a secret parameter that determines the corresponding group, e.g., in an elliptic curve. Additive Group or Z * p and the like, g in the variable g is a constructor, and is required to create the group G in a discrete logarithm problem.

상기한 가정을 가지고, 상기 제1 통신기기(10)는 자신 고유의 비밀키(20a)를 생성하고, 상기 비밀키(20a)와 변수(g, p)를 이용하여 하기 수학식 1에 의한 공개키(30a, X)를 산출한다.With the above assumption, the first communication device 10 generates its own private key 20a and publishes it according to Equation 1 using the secret key 20a and variables g and p. The keys 30a and X are calculated.

X = gx mod pX = g x mod p

여기서, 상기 변수(g)를 비밀키(20a)(gx, x)의 x 값만큼 곱하고(멱승연산), 그 값을 변수(p)로 나눈 나머지(모듈러 연산)를 공개키(30a, X)로 하는 것을 의미하며, 상기 제1 통신기기(10)는 산출한 공개키(30a, X)를 상기 제1 통신기기(10)와 대향하는 제2 통신기기(20)로 송신한다(S10).Here, the variable g is multiplied by the x value of the secret key 20a (g x , x) (operation), and the remainder (modular operation) divided by the value by the variable p is the public key 30a, X. ), And the first communication device 10 transmits the calculated public keys 30a and X to the second communication device 20 facing the first communication device 10 (S10). .

더불어, 상기 변수생성과정에서 상기 변수(g)는 제1 통신기기(10)의 비밀키(20a)(gx, x)로 생성되므로, 상기 변수(p)만을 생성하는 것도 바람직하다.In addition, since the variable g is generated by the secret key 20a (g x , x) of the first communication device 10 in the variable generation process, it is also preferable to generate only the variable p.

한편, 상기 제2 통신기기(20)는 변수(g, p)를 생성하고, 고유의 비밀키(20b)(gyi, yi)를 키교환 사전에 생성하여 데이터베이스화하고, 유지 및 관리하여 다수의 통신기기가 상기 제2 통신기기(20)에 접속하여 암호 데이터를 송신하도록 요구하더라도, 요구한 시점에서 비밀키(20b)(gyi, yi)를 생성하는 것이 아니라, 사전에 다수의 비밀키를 (gy1, y1), (gy2, y2), (gy3, y3), (gy4, y4)‥‥(gyi, yi) 등과 같이 쌍으로 미리 생성하여, 요구에 대한 신속한 응답을 제공한다.On the other hand, the second communication device 20 generates a variable (g, p), and generates a unique secret key (20b) (g yi , yi) in a key exchange dictionary, database, maintain and manage Even if the communication device of FIG. 1 requests to connect to the second communication device 20 to transmit encrypted data, it does not generate a secret key 20b (g yi , yi) at the time of request, but a plurality of secret keys in advance. Is generated in pairs such as (g y1 , y1), (g y2 , y2), (g y3 , y3), (g y4 , y4) ‥‥ (g yi , yi), etc. to provide.

이때, 상기 비밀키(20b, yi)를 정해진 범위 안에서 랜덤함수를 이용하여 생성시킨 후, 랜덤하게 상기 생성된 비밀키(20b, yi)로 비밀키(20b, gyi)를 생성하여 쌍을 이루며, 이렇게 생성된 상기 비밀키(20b)(gyi, yi)는 상기 제1 통신기기(10)의 송신요구가 있을 시에 신속하게 응답하게 된다.In this case, the secret keys 20b and yi are generated using a random function within a predetermined range, and then randomly generate secret keys 20b and g yi using the generated secret keys 20b and yi to form a pair. The secret key 20b (g yi , yi) generated in this way will quickly respond to a request for transmission of the first communication device 10.

여기서, 상기 비밀키(20b)의 i는 iteration의 약자로, 연속된 숫자로 표현된다.Here, i of the secret key 20b is an abbreviation of iteration and is represented by a continuous number.

그리고, 상기 제2 통신기기(20)는 상기 제1 통신기기(10)의 공개키(30a, X)에 기 생성시킨 비밀키(20b)(gyi, yi)를 이용하여 하기 수학식 2에 적용하여 공개 키(30b)(Y)를 산출한다.In addition, the second communication device 20 uses the secret key 20b (g yi , yi) previously generated in the public keys 30a and X of the first communication device 10. Apply to calculate the public key 30b (Y).

Y = (X)y mod p = (gx)y mod p = (gxy) mod pY = (X) y mod p = (g x ) y mod p = (g xy ) mod p

그리고, 상기 제2 통신기기(20)는 상기 공개키(30b)(Y)를 상기 제1 통신기기(10)로 송신하고, 상기 제2 통신기기(20)의 공개키(30b)(Y)를 수신한 제1 통신기기(10)는 상기 공개키(30b)(Y)를 이용하여 하기 수학식 3과 같이 공유키(40a)(K)를 산출한다.Then, the second communication device 20 transmits the public key 30b (Y) to the first communication device 10, and the public key 30b (Y) of the second communication device 20. Receiving the first communication device 10 calculates the shared key (40a) (K) using the public key (30b) (Y) as shown in the following equation (3).

K = (Y)1/x mod p = (gxy)1/x mod pK = (Y) 1 / x mod p = (g xy ) 1 / x mod p

= gy mod p= g y mod p

여기서, 상기 공유키(30a)(K)는 상기 제2 통신기기(20)로부터 수신받은 공개키(30b)(Y)에 상기 제1 통신기기(10) 고유의 비밀키(gx, x)의 x로 1/x 만큼 멱승연산을 하여 공유키(40a)(K)를 산출한다.Here, the shared key 30a (K) is a secret key (g x , x) unique to the first communication device 10 to the public key 30b (Y) received from the second communication device 20. A power of 1 / x is multiplied by x to calculate shared key 40a (K).

그리고, 상기 제2 통신기기(20)는 기 생성된 고유의 비밀키(20b)(gyi, yi)와 변수(p)를 이용하여 공유키(40b)(K)를 산출하며, 이는 하기 수학식 4와 같다.Then, the second communication device 20 calculates the shared key 40b (K) by using a unique secret key 20b (g yi , yi) and a variable (p) previously generated, which is Equation 4

K = gy mod pK = g y mod p

상기 수학식 3과 같은 상기 제1 통신기기(10)의 공유키(40a)(K)와 상기 제2 통신기기(20)의 공유키(40b)(K)가 동일하여, 암호화 및 인증된 데이터를 송, 수신을 위한 키교환이 가능하다.The shared key 40a (K) of the first communication device 10 and the shared key 40b (K) of the second communication device 20 are the same, and the data encrypted and authenticated as shown in Equation (3). Key exchange for sending and receiving is possible.

만약, 남용자가 변수(g), 변수(p), 공개키(X) 및 공개키(Y)에 기초하여 공유키(K)를 산출하려면, 이산 대수 문제로 연산이 거의 불가능하고, 특히 변수(p)를 수백 비트(bit)에서 수천 비트로 설정한 경우에는 이산 대수를 계산하는 것은 사실상 불가능하여 상기 제1 통신기기(10)와 제2 통신기기(20) 사이에서 안전하게 공유키(K)를 공유시킬 수 있다.If the abuser calculates the shared key (K) based on the variable (g), variable (p), public key (X) and public key (Y), the operation is almost impossible due to the discrete algebra problem. When p) is set from several hundred bits to thousands of bits, it is virtually impossible to calculate a discrete number so that the shared key K is safely shared between the first communication device 10 and the second communication device 20. You can.

도 3은 본 발명에 따른 변형 디피 헬만 기반 키교환 방법의 공유키 교환을 개략적으로 도시한 도이다. 도면에서 도시하고 있는 바와 같이, 제1 통신기기(10) 고유의 비밀키(20a)(gx, x) 및 변수(g, p)로 공개키(30a)(X)를 송신하면, 제2 통신기기(20)는 기 생성된 비밀키(20b)(gyi, yi)로 상기 공개키(30a)(X)에 멱승연산을 하여, 상기 제2 통신기기(20)의 공개키(30b)(Y)를 상기 제1 통신기기(10)로 전송한 다.3 is a diagram schematically illustrating a shared key exchange of the modified diffie Hellman based key exchange method according to the present invention. As shown in the figure, when the public key 30a (X) is transmitted with the private key 20a (g x , x) and variables (g, p) unique to the first communication device 10, The communication device 20 performs a power operation on the public key 30a (X) with a secret key 20b (g yi , yi) previously generated, and then the public key 30b of the second communication device 20. (Y) is transmitted to the first communication device (10).

그리고, 상기 수신한 공개키(30b)(Y)에 상기 제1 통신기기 자신의 고유 비밀키(20a)(gx, x)로 공유키(40a)를 산출해낸다.Then, the shared key 40a is calculated from the received public key 30b (Y) using the unique secret key 20a (g x , x) of the first communication device itself.

또한, 공유된 공유키(40a)를 가지고 인증된 데이터 또는 암호화된 데이터를 송, 수신할 수 있다.In addition, it is possible to send and receive authenticated or encrypted data with the shared shared key 40a.

도 4는 본 발명의 실시예에 따른 변형 디피 헬만 기반 키교환 방법을 도시한 도이다. 도면에서 도시하고 있는 바와 같이, 인터넷 또는 네트워크 상에서 다수의 통신기기가 암호화된 데이터 또는 자료를 송신하도록 요구할 경우의 일실시예를 도시한다.4 is a diagram illustrating a modified diffie hellman based key exchange method according to an embodiment of the present invention. As shown in the figure, an embodiment is shown where a large number of communication devices require transmission of encrypted data or data over the Internet or a network.

여기서, 상기 제1 통신기기(10)는 대향하는 제2 통신기기(20)와 인증된 데이터 또는 암호화된 데이터를 송, 수신하기 위하여 각종 키를 교환하는데, 상기 제1 통신기기(10)가 상기 제2 통신기기(20)로 고유의 비밀키(gxa)로 공개키를 형성하여 송신하면, 상기 제2 통신기기(20)는 다수의 비밀키(20b)들이 기 생성된 데이터베이스로부터 비밀키를 이용하여 상기 수신한 공개키를 계산하고, 다시 상기 제1 통신기기(10)로 송신하며, 상기 제1 통신기기(10)는 공유키(K)를 계산해내고, 상기 제1 통신기기(10)와 상기 제2 통신기기(20)는 상기 공유키(K)를 이용하여 암호 데이터를 송, 수신함이 가능해진다.Here, the first communication device 10 exchanges various keys for transmitting and receiving authenticated data or encrypted data with the second communication device 20 facing each other. When the public key is formed with the unique secret key g xa and transmitted to the second communication device 20, the second communication device 20 receives a secret key from a database in which a plurality of secret keys 20b are generated. The received public key is calculated and then transmitted to the first communication device 10, and the first communication device 10 calculates a shared key K, and the first communication device 10. And the second communication device 20 can transmit and receive encrypted data using the shared key K. FIG.

그리고, 상기 제3 통신기기(30)는 대향하는 제2 통신기기(20)와 인증된 데이 터 또는 암호화된 데이터를 송, 수신하기 위하여 각종 키를 교환하는데, 상기 제1 통신기기(10) 및 상기 제2 통신기기(20)의 방식과 동일하다.In addition, the third communication device 30 exchanges various keys for transmitting and receiving authenticated data or encrypted data with an opposing second communication device 20. The first communication device 10 and It is the same as the method of the second communication device 20.

마지막으로, 상기 제4 통신기기(40) 역시 대향하는 제2 통신기기(20)와 인증된 데이터 또는 암호화된 데이터를 송, 수신하기 위하여 각종 키를 교환하는데, 상기 제1 통신기기(10) 및 상기 제2 통신기기(20)의 방식과 동일하다.Finally, the fourth communication device 40 also exchanges various keys with the second communication device 20 to transmit and receive the authenticated or encrypted data. The first communication device 10 and It is the same as the method of the second communication device 20.

이상에서는 본 발명의 바람직한 실시예를 예시적으로 설명하였으나, 본 발명의 범위는 이같은 특정 실시예에만 한정되지 않으며 해당 분야에서 통상의 지식을 가진자라면 본 발명의 특허 청구 범위내에 기재된 범주 내에서 적절하게 변경이 가능 할 것이다.Although the preferred embodiments of the present invention have been described above by way of example, the scope of the present invention is not limited to such specific embodiments, and those skilled in the art are appropriate within the scope described in the claims of the present invention. It will be possible to change.

이상에서 설명한 바와 같이 상기와 같은 구성을 갖는 본 발명은 이산로그문제(Discrete Logarithm Problem)에 기반한 디피 헬만(Diffie Hellman) 키교환 방법을 변형시켜 암호화 및 인증된 데이터에 적용시킬 수 있고, 상기 변형된 키교환 방법은 각각의 통신기기가 각종 키를 교환하기 위하여 수행하는 연산에 있어 다수의 비밀키를 사전에 생성시켜 유지 및 관리하도록 데이터베이스화 함으로써, 상기 비밀키를 생성하기 위하여 연산하는 시간을 감소시킬 수 있으며, 이에 따라 키교환에 요구되는 시간을 실시간으로 단축가능하고, 암호화된 스트리밍 서비스를 제공하는 통신기기에 적용함으로써 상기 서비스 제공 통신기기에 서비스를 요청하는 다수의 통신기기에 대하여 신속하게 응답할 수 있는 등의 효과를 거둘 수 있다.As described above, the present invention having the configuration as described above can be applied to encrypted and authenticated data by modifying the Diffie Hellman key exchange method based on the Discrete Logarithm Problem. In the key exchange method, a database for generating, maintaining, and managing a plurality of secret keys in advance in operations performed by each communication device to exchange various keys can be used to reduce the time required to generate the secret keys. Accordingly, the time required for the key exchange can be shortened in real time, and the present invention can be quickly applied to a plurality of communication devices requesting a service from the service providing communication device by applying to a communication device providing an encrypted streaming service. It can achieve such effects.

Claims (8)

암호화 및 인증처리된 데이터를 송, 수신하기 위해 통신기기 간에 실시되는 변형 디피 헬만 기반 키교환 방법에 있어서,In a modified diff hellman based key exchange method performed between communication devices for transmitting and receiving encrypted and authenticated data, 상기 데이터를 송, 수신하기 위해 제1 통신기기는 고유의 비밀키 및 두 개의 변수로 공개키를 생성하여 상기 공개키를 대향하는 제2 통신기기로 송신하는 단계;Generating a public key with a unique secret key and two variables to transmit and receive the data, and transmitting the public key to an opposing second communication device; 상기 제2 통신기기는 기 설정된 고유의 비밀키를 상기 제1 통신기기로부터 수신한 공개키에 적용 및 계산하여 제2 통신기기의 공개키를 산출하고, 상기 제2 통신기기의 공개키를 제1 통신기기로 송신하는 단계; The second communication device calculates the public key of the second communication device by applying and calculating a predetermined unique private key to the public key received from the first communication device, and calculates the public key of the second communication device as the first key. Transmitting to a communication device; 상기 제2 통신기기의 공개키에 상기 제1 통신기기의 비밀키를 적용 및 계산하여 공유키를 산출하는 단계;Calculating a shared key by applying and calculating a secret key of the first communication device to a public key of the second communication device; 로 이루어지는 것을 특징으로 하는 변형 디피 헬만 기반 키교환 방법.Modified Diffie Hellman based key exchange method, characterized in that consisting of. 제1항에 있어서,The method of claim 1, 상기 제2 통신기기는 고유의 비밀키를 기 생성시키되, 상기 제2 통신기기 고유의 비밀키는 gyi, yi 로 쌍을 이루고, 상기 g는 생성자인 변수, y는 상기 제2 통신기기의 고유의 비밀키, i는 기 생성된 수를 나타내는 것을 특징으로 하는 변형 디피 헬만 기반 키교환 방법.The second communication device generates a unique secret key in advance, and a secret key unique to the second communication device is paired with g yi and yi, g is a generator variable, and y is a unique value of the second communication device. The secret key of i, wherein i represents a pre-generated number. 제1항에 있어서,The method of claim 1, 상기 제1 통신기기의 공개키는 X = gx mod p 로 정의되고, 상기 제2 통신기기의 공개키는 Y = (gx)y mod p 로 정의되며, 상기 g 는 생성자인 변수, x 는 상기 제1 통신기기 고유의 비밀키, y는 상기 제2 통신기기의 기 생성된 비밀키, p 는 변수, mod 는 모듈로 연산을 나타내는 것을 특징으로 하는 변형 디피 헬만 기반 키교환 방법.The public key of the first communication device is defined as X = g x mod p, the public key of the second communication device is defined as Y = (g x ) y mod p, and g is a constructor variable, x is And a secret key unique to the first communication device, y denotes a previously generated secret key of the second communication device, p denotes a variable, and mod denotes a modulo operation. 제1항에 있어서,The method of claim 1, 상기 제1 통신기기의 공유키는 K = (Y)1/x mod p 로 정의되며, 상기 Y 는 상기 제2 통신기기의 공개키, x 는 상기 제1 통신기기 고유의 비밀키, p 는 변수, mod 는 모듈로 연산을 나타내는 것을 특징으로 하는 변형 디피 헬만 기반 키교환 방법.The shared key of the first communication device is defined as K = (Y) 1 / x mod p, wherein Y is a public key of the second communication device, x is a secret key unique to the first communication device, and p is a variable. and mod denotes a modulo operation. 제1항에 있어서,The method of claim 1, 상기 제2 통신기기의 공유키는 K = gy mod p 로 정의되며, 상기 y 는 상기 제2 통신기기의 비밀키, p 는 변수, mod 는 모듈로 연산을 나타내는 것을 특징으로 하는 변형 디피 헬만 기반 키교환 방법.The shared key of the second communication device is defined as K = g y mod p, wherein y is a secret key of the second communication device, p is a variable, and mod is a modulo Hellman based. Key exchange method. 삭제delete 제1항에 있어서,The method of claim 1, 상기 제2 통신기기의 기 생성된 비밀키는 y , 상기 제1 통신기기의 공개키는 X = gx mod p , 상기 제2 통신기기의 공개키는 Y = (gx)y mod p 로 나타나는 것을 특징으로 하는 변형 디피 헬만 기반 키교환 방법.The pre-generated secret key of the second communication device is y, the public key of the first communication device is X = g x mod p, and the public key of the second communication device is represented by Y = (g x ) y mod p. Modified Diffie Hellman based key exchange method, characterized in that. 삭제delete
KR1020060123816A 2006-12-07 2006-12-07 Method for Key Exchange Based on Varient of the Diffie Hellman KR100872817B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060123816A KR100872817B1 (en) 2006-12-07 2006-12-07 Method for Key Exchange Based on Varient of the Diffie Hellman

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060123816A KR100872817B1 (en) 2006-12-07 2006-12-07 Method for Key Exchange Based on Varient of the Diffie Hellman

Publications (2)

Publication Number Publication Date
KR20080051947A KR20080051947A (en) 2008-06-11
KR100872817B1 true KR100872817B1 (en) 2008-12-09

Family

ID=39806863

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060123816A KR100872817B1 (en) 2006-12-07 2006-12-07 Method for Key Exchange Based on Varient of the Diffie Hellman

Country Status (1)

Country Link
KR (1) KR100872817B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101023709B1 (en) * 2008-12-30 2011-03-25 한국전기연구원 encryption system for remote inspecting and method for changing key thereof
US11381388B2 (en) 2018-11-27 2022-07-05 Samsung Electronics Co., Ltd. Storage device sharing data encryption key as encrypted and operating method of storage device

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100050846A (en) * 2008-11-06 2010-05-14 삼성전자주식회사 System and method for interchanging key
KR101297648B1 (en) * 2011-12-29 2013-08-19 고려대학교 산학협력단 Authentication method between server and device
CA2929173A1 (en) * 2013-10-30 2015-05-07 Huawei Device Co., Ltd. Key configuration method, system, and apparatus
US10355859B2 (en) * 2017-03-27 2019-07-16 Certicom Corp. Method and system for selecting a secure prime for finite field diffie-hellman
KR101936955B1 (en) 2018-06-28 2019-04-09 펜타시큐리티시스템주식회사 The method of backing up and restoring secret information utilizing asymmetric application of Diffie-Hellman and elliptic curve Diffie-Hellman algorithm
KR20200112559A (en) * 2019-03-22 2020-10-05 삼성전자주식회사 Communication method and communication device
KR102308248B1 (en) * 2020-02-17 2021-10-01 주식회사 이와이엘 Encryption Gateway equipped with quantum encryption chip based a quantum random number and method of providing encryption communication service between IoT device using the same
EP4109811A4 (en) * 2020-02-17 2024-03-13 Eyl Inc Secure device equipped with quantum-random-number-based quantum encryption chip and secure communication service provision method using same
KR102308247B1 (en) * 2020-02-17 2021-10-01 주식회사 이와이엘 Encryption communication device equipped with quantum encryption chip based a quantum random number and method of providing encryption communication service using the same
KR102308246B1 (en) * 2020-02-17 2021-10-01 주식회사 이와이엘 Encryption communication device equipped with quantum encryption chip based a quantum random number and method of providing encryption communication service using the same

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000261425A (en) 1999-03-09 2000-09-22 Kodo Ido Tsushin Security Gijutsu Kenkyusho:Kk Exclusive key sharing method
JP2000278258A (en) 1999-03-19 2000-10-06 Sharp Corp Common key exchange method
US20020129247A1 (en) 1996-04-17 2002-09-12 Jablon David P. Cryptographic methods for remote authentication
KR20030079141A (en) * 2002-04-02 2003-10-10 이창우 Method for Embodying a key agreement protocol

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020129247A1 (en) 1996-04-17 2002-09-12 Jablon David P. Cryptographic methods for remote authentication
JP2000261425A (en) 1999-03-09 2000-09-22 Kodo Ido Tsushin Security Gijutsu Kenkyusho:Kk Exclusive key sharing method
JP2000278258A (en) 1999-03-19 2000-10-06 Sharp Corp Common key exchange method
KR20030079141A (en) * 2002-04-02 2003-10-10 이창우 Method for Embodying a key agreement protocol

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101023709B1 (en) * 2008-12-30 2011-03-25 한국전기연구원 encryption system for remote inspecting and method for changing key thereof
US11381388B2 (en) 2018-11-27 2022-07-05 Samsung Electronics Co., Ltd. Storage device sharing data encryption key as encrypted and operating method of storage device

Also Published As

Publication number Publication date
KR20080051947A (en) 2008-06-11

Similar Documents

Publication Publication Date Title
KR100872817B1 (en) Method for Key Exchange Based on Varient of the Diffie Hellman
Shin et al. A security framework for MQTT
JP5349619B2 (en) Identity-based authentication key agreement protocol
Aman et al. ATT-Auth: A hybrid protocol for industrial IoT attestation with authentication
TW201815123A (en) Method and system for quantum key distribution based on trusted computing
WO2019216950A1 (en) Password based threshold token generation
CN104378374A (en) SSL-based method and system for establishing communication
JP2016526844A (en) Key establishment for constrained resource devices
US10812265B1 (en) Using cryptographic co-processors in a supersingular isogeny-based cryptosystem
US10630476B1 (en) Obtaining keys from broadcasters in supersingular isogeny-based cryptosystems
AU3180699A (en) A method and apparatus for cryptographically secure algebraic key establishment protocols
Singh et al. Secured user's authentication and private data storage-access scheme in cloud computing using Elliptic curve cryptography
JP2023101776A (en) Computer-implemented system and method for advanced security, fast encryption and transmission of data
Marchsreiter et al. Hybrid post-quantum enhanced tls 1.3 on embedded devices
CN104618362A (en) Method and device for session message interaction between resource server and client side
JP3854954B2 (en) Data sharing device
Ghosh et al. A Lightweight Authentication Protocol in Smart Grid.
Chatterjee et al. PUF+ IBE: blending physically unclonable functions with identity based encryption for authentication and key exchange in IoTs
US10880278B1 (en) Broadcasting in supersingular isogeny-based cryptosystems
Shin et al. Simple anonymous password-based authenticated key exchange (sapake), reconsidered
KR101506564B1 (en) Method for generating parameter of public key infrastructure
Fischer et al. Security for building automation with hardware-based node authentication
JP2001094548A (en) Method and device for exchanging cipher key
US10812264B1 (en) Traversing a zigzag path tree topology in a supersingular isogeny-based cryptosystem
RU2719634C1 (en) Method of generating shared secret key in group of subscribers

Legal Events

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

Payment date: 20121203

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130913

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140818

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20151001

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160912

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee