KR100778057B1 - 2차 잉여류 군에서 정의되는 하이브리드 공개키 암호 기법 - Google Patents

2차 잉여류 군에서 정의되는 하이브리드 공개키 암호 기법 Download PDF

Info

Publication number
KR100778057B1
KR100778057B1 KR1020060069710A KR20060069710A KR100778057B1 KR 100778057 B1 KR100778057 B1 KR 100778057B1 KR 1020060069710 A KR1020060069710 A KR 1020060069710A KR 20060069710 A KR20060069710 A KR 20060069710A KR 100778057 B1 KR100778057 B1 KR 100778057B1
Authority
KR
South Korea
Prior art keywords
public key
key
user terminal
common secret
hybrid
Prior art date
Application number
KR1020060069710A
Other languages
English (en)
Other versions
KR20070061223A (ko
Inventor
박제홍
윤아람
박상우
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Publication of KR20070061223A publication Critical patent/KR20070061223A/ko
Application granted granted Critical
Publication of KR100778057B1 publication Critical patent/KR100778057B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 2차 잉여류 군에서 정의되는 하이브리드 공개키 암호 기법에 관한 것으로서, 각 사용자가 공개키/개인키 쌍을 가지고 있으며, 두 사용자가 공유할 공통 비밀키를 암/복호화하는 KEM(Key Encapsulation Mechanism) 알고리즘과, 이렇게 만들어진 공통 비밀키를 이용하여 실제 메시지를 암/복호화하는 DEM(Data Encapsulation Mechanism) 알고리즘으로 구성되어 2차 잉여류 군 QRN에서 랜덤 오라클 모델이 아닌 실제 모델에서 안전성 증명이 가능한 하이브리드 공개키 암호 기법을 제공함으로써, 기존에 제안된 2차 잉여류 군에서의 하이브리드 기법에 비해 동일한 안전성을 가지면서도 연산측면에서 훨씬 효율적인 장점이 있다.
공개키 암호, 하이브리드 공개키 암호, 키 교환 방식

Description

2차 잉여류 군에서 정의되는 하이브리드 공개키 암호 기법{HYBRID PUBLIC KEY ENCRYPTION SCHEME BASED ON QUADRATIC RESIDUE GROUPS}
도 1은 본 발명의 바람직한 실시예에 따른 2차 잉여류 군에서 정의되는 하이브리드 공개키 암호 기법에서 참가자간의 상호작용을 예시한 블록도,
도 2는 본 발명의 바람직한 실시예에 따른 2차 잉여류 군에서 정의되는 하이브리드 공개키 암호 기법에서 사용자 1이 사용자 2에게 공통 비밀키와 메시지를 암호화해서 보내는 과정을 예시한 블록도,
도 3은 본 발명의 바람직한 실시예에 따른 2차 잉여류 군에서 정의되는 하이브리드 공개키 암호 기법에서 사용자 2가 사용자 1로부터 받은 암호문을 복호화하여 메시지를 얻는 과정을 예시한 블록도이다.
<도면의 주요 부분에 대한 부호의 설명>
100 : 인증기관
200 : 사용자 1
300 : 사용자 2
본 발명은 하이브리드 공개키 암호 기법에 관한 것으로, 더욱 상세하게는 KEM-DEM 방식으로 설계된 하이브리드 공개키 암호 기법을 이용하여 통신구간 상에서 전송되는 데이터의 기밀성을 제공하기 위해, 2차 잉여류 군에서 정의되는 실제 환경에서 증명 가능한 안전성을 제공할 뿐만 아니라 연산의 효율성을 갖는 2차 잉여류 군에서 정의되는 하이브리드 공개키 암호 기법에 관한 것이다.
현재 인터넷이 보편적으로 사용되는 환경에서 사용자들 사이에 전송되는 데이터에 대해 기밀성(Confidentiality)을 제공하는 것은 매우 중요한 문제이다. 즉, 의도한 사용자를 제외한 나머지 사람들은 암호화된 데이터로부터 어떠한 정보도 얻을 수 없어야 한다. 암호 기법은 평문(Plaintext)으로 불리는 데이터를 암호문(Ciphertext)으로 변환해주는 알고리즘과 암호문을 평문으로 변환하는 알고리즘으로 구성되며, 의도한 사용자들만 원하는 값을 얻을 수 있도록 사용자들이 가지는 고유의 정보를 같이 사용하게 된다. 여기에서 고유의 정보는 사용자의 키(Key)라고 하며, 공개키 암호의 경우 사용자마다 특정한 수학적인 관계를 가지는 공개키(Public Key)와 개인키(Private Key) 쌍을 가지고 있으며, 비밀키 암호의 경우 두 사용자로 이루어진 쌍마다 독립적으로 하나의 공통 비밀키(Secret Key)를 암호 기법 실행 이전에 공유하여 사용한다. 공개키 암호의 경우 공개키로부터 개인키를 얻어내고자 하는 공격이 항상 가능하며, 이러한 공격에 대한 방어를 위해 가능한 한 어려운 문제를 사용하여 공개키와 개인키 사이의 수학적인 관계를 주게 된다.
공개키 암호 시스템은 인증기관(100)이 생성한 전자 인증서(Digital Certificate)에 의해 공개키와 사용자를 연결할 수 있다. 이러한 공개키 기반 구조(Public Key Infrastructure)는 많은 사용자를 관리해야 하는 경우에 적합한 방식이다. 이는 키 관리 측면에서 관리해야 할 키의 개수가 사용자 수와 같아서 비밀키 기반의 키 관리 체계보다 상대적으로 적기 때문이다. 하지만, 공개키 암호는 일반적으로 사용되는 연산의 계산 효율성이 떨어지고 메시지를 암호 기법이 정의되는 특정 군의 원소로 치환해서 계산해야 하기 때문에, 길이가 긴 메시지를 암호화하는 용도로는 적합하지 않다. 그러므로 실제 메시지에 대한 암호화는 블록암호나 스트림암호와 같은 비밀키 암호 기법을 사용하게 된다. 하지만 비밀키 암호 기법에서 사용하는 키는 데이터를 주고받을 두 사용자 이외의 다른 사용자는 알 수 없어야 한다. 그러므로 두 사용자는 비밀키 암호 기법에 사용할 키를 사전에 공유할 필요가 있다. 일반적으로 공개키 암호 시스템에서는 이를 위해 키 공유 방식(Key Agreement Scheme)을 주로 사용한다. 키 공유 방식은 두 사용자 사이에 주고 받는 난수 정보와 사용자 각자가 소유하고 있는 개인키를 이용하여 두 사용자만이 공유하는 공통 비밀키를 생성하게 된다. 하지만 두 사용자의 계산 능력에 차이가 있을 경우 양 사용자가 같은 계산을 동시에 수행하는 것이 어려울 수 있다. 이러한 경우 서버(Server)와 같이 계산 효율성이 좋은 사용자가 비밀키를 생성해서 다른 사용자에게 전송하여 키를 공유하는 방식을 사용하게 된다. 이때 비밀키를 전송하는 과정에서 비밀키가 다른 사용자에게 노출되지 않도록 보호할 필요가 있다. 일반적으로 비밀키 암호 기법에서 사용하는 공통 비밀키는 그 크기가 작기 때문에 공개키 암호 기법을 사용하여 암호화하는 것이 효율성 저하에 큰 요인이 되지 않는다. 그러므로 현재 인터넷에서 주로 사용되고 있는 공인인증체계와 같은 공개키 기반 구조에서는, 실제 공개키 암호 기법은 두 사용자가 공유할 공통 비밀키를 암호화하는 용도로만 주로 사용된다. 이러한 공개키 암호와 비밀키 암호의 구성을 하나의 공개키 암호 방식으로 보는 것을 하이브리드 기법(hybrid scheme)이라고 한다.
최근 Shoup은 하이브리드 공개키 암호 기법을 설계하는 일원화된 구조로 KEM-DEM 모델을 제안하였다(V. Shoup, Using hash functions as a hedge against chosen ciphertext attack, Advances in Cryptology - EUROCRYPT 2000, Lecture Notes in Comput. Sci., vol. 1807, pp. 275-288, 2000.). Shoup에 의해 제안된 Key Encapsulation Mechanism(KEM)은 앞 단락에서 언급한 공개키 암호의 실제 사용 용도를 감안하여 제안된 모델로 비밀키 암호로 만들어지는 Data Encapsulation Mechanism(DEM)과 함께 안전한 하이브리드 공개키 암호를 설계하는 하나의 이론적인 모델이다. 특히 KEM과 DEM을 이용한 하이브리드 공개키 암호는 KEM과 DEM이 각각의 안전성 조건을 만족할 경우 하이브리드 공개키 암호 또한 증명 가능한 안전성을 가지기 때문에 최근의 공개키 암호 표준화 작업에서 모듈화된 설계방법으로써 하나의 주류를 형성하고 있다 (ISO. FCD 18033-2: Encryption algorithms - Part 2: Asymmetric ciphers, 2004.).
KEM-DEM 모델은 Key Encapsulation Mechanism(KEM)과 Data Encapsulation Mechanism(DEM)의 두 가지 독립적인 부분으로 구성되어 있으며, KEM은 공개키 암호 기법과 비슷하게 동작하나, 암호문을 받는 상대방의 공개키만을 입력으로 받아 DEM에 사용될 키를 생성해서 암호화하는 역할을 수행한다. 반면 DEM은 블록암호나 스트림암호와 같은 비밀키 암호 기법과 MAC 알고리즘을 같이 사용해 메시지를 암호화하는 것이 일반적이다. 또한 능동 선택 암호문 공격에 대한 안전성(IND-CCA2 안전성)을 가지는 KEM과 DEM을 결합하면 IND-CCA2 안전성을 가지는 하이브리드 공개키 암호 기법을 만들 수 있다. 이러한 이론적인 연구 결과를 바탕으로 Shoup은 Cramer-Shoup 암호 기법(R. Cramer and V. Shoup, A practical public key cryptosystem provably secure against adaptive chosen ciphertext attack, Advances in Cryptology - CRYPTO 1998, Lecture Notes in Comput. Sci. vol. 1462, pp. 13-26, 1998)에 기반한 안전한 KEM을 제안하였다. 실제 DEM은 어느 정도 형식화된 모습이 갖춰져 있으며 동일한 안전성을 가지는 어떠한 비밀키 암호 기법이나 MAC 알고리즘을 쓰던지 안전성에는 영향이 없는 구조를 가지고 있다. 그러므로 KEM의 설계에 따라, 만들어지는 하이브리드 공개키 암호 기법의 차이가 결정된다. 최근까지 KEM이 IND-CCA2 안전성을 만족하는 것은 KEM-DEM 모델의 안전성을 위한 필요조건으로 인식되어 왔다. 하지만 Kurosawa와 Desmedt는 Cramer-Shoup 기법을 변형한 효율적인 형태의 KEM을 설계하고 이를 이용한 IND-CCA2 안전성을 만족하는 KEM-DEM 모델을 제안하면서, KEM-DEM 모델의 안전성을 위해 KEM 또한 IND-CCA2 안전성을 가져야 할 필요는 없다는 것을 보여주었다(K. Kurosawa and Y. Desmedt, A new paradigm of hybrid encryption scheme, Advances in Cryptology - CRYPTO 2004, Lecture Notes in Comput. Sci., vol. 3152, pp. 426-442, 2004.). 이러한 연구결과는 기존의 KEM-DEM 모델과 비교할 때, 같은 안전성을 가지면서 훨씬 효율성이 좋은 암호 기법을 만들 수 있다는 것을 의미한다.
Kurosawa-Desmedt 암호 기법에서 사용된 KEM은 Cramer-Shoup 기법을 변형한 것으로 기본적으로 소수 위수(Prime Order)를 가지는 군(Group)에서 정의된다. Cramer-Shoup 암호 기법에 기반한 여러 가지 변형 기법들 중, Lucks가 2차 잉여류 군 QRN에서 정의한 Cramer-Shoup 기반 KEM은 기본적인 구성에서는 소수 위수 군에서의 Cramer-Shoup 기반 KEM과 같으며 QRN에서의 DDH 가정을 기반으로 실제 모델에서의 안전성을 증명할 수 있다(S. Lucks, A variant of the Cramer-Shoup cryptosystem for groups of unknown order. Advances in Cryptology - ASIACRYPT 2002, Lecture Notes in Comput. Sci., vol. 2501, pp. 27-45, 2002.). QRN에서의 DDH 가정은 QRN 4의 임의의 원소(g1, g2, u1, u2)의 분포 R과(g1, g2, g1 r, g2 r)의 분포 D를 구별하는 것이 어렵다는 것으로, 소수 위수 군에서 정의되는 DDH 가정의 변형이다.
평문(Plaintext)으로 지칭되는 메시지 m을 공개키를 사용하여 암호화한 결과로 암호문(Ciphertext) c를 얻는다. 이 암호문 c는 인터넷과 같은 경로를 통해 전송되며, 암호화를 위해 사용된 공개키와 연결되는 올바른 개인키를 소유한 사용자만이 c를 복호화할 수 있다. 이러한 일반적인 공개키 암호 방식을 효과적으로 수행하기 위해, 두 사용자는 실제 공개키 암호 기법을 적용하여 공통 비밀키를 안전하게 공유한다. 이어 두 사용자가 공통으로 사용하는 비밀키 기반 암호 기법을 사용하여 메시지의 암/복호화를 수행하게 된다. 이러한 방식을 통해 두 사용자 사이에 전송되는 데이터에 대한 기밀성 제공과 함께 효율적인 데이터 처리가 가능하다.
본 발명의 목적은 2차 잉여류 군 QRN={x
Figure 112006053251635-pat00001
ZN * :
Figure 112006053251635-pat00002
a
Figure 112006053251635-pat00003
ZN *: a2 = x(mod N)}을 사용하여 하이브리드 공개키 암호 기법을 제공하는데 있다. 2차 잉여류 군 QRN은 RSA에서 사용되는 정수 환(Ring)인 ZN과는 달리 각 사용자가 어느 경우에 있어서도 N의 소인수를 알 필요가 없다. N의 소인수를 아는 것과 QRN의 원소의 개수인 위수(order)를 아는 것은 동일하기 때문에 결국 모든 사용자에게 QRN의 위수를 숨긴 채 사용한다 (S. Lucks, A variant of the Cramer-Shoup cryptosystem for groups of unknown order. Advances in Cryptology ASIACRYPT 2002, Lecture Notes in Comput. Sci., vol. 2501, pp. 27-45, 2002.). 실제 계산에 있어서는 QRN의 위수를 사용해야 하지만 실제 위수는 공개되지 않기 때문에 일반적으로 공개되어 있는 값 N을 이용하여 [N/4]를 위수 대신으로 사용한다. [N/4]보다 같거나 작은 정수들을 선택하면 그 값이 QRN 의 위수보다 작기 때문에 계산 오류는 확률적으로 거의 무시할 수 있다.
이러한 2차 잉여류 군 QRN에서 공통 비밀키의 공유와 데이터 암/복호화 과정을 하나로 묶은 KEM-DEM 방식의 하이브리드 공개키 암호 기법의 안전성은 QRN의 결정적 Diffie-Hellman 가정과 N의 소인수 분해가 어렵다는 가정에 기반한다. 특히 기존의 공개키 암호 기법의 대다수가 이상적인 해쉬함수를 가정하는 랜덤 오라클 모델에서 능동 선택 암호문 공격에 대한 안전성을 보장하는 것에 비해, 본 발명은 실제 우리가 사용하는 해쉬함수가 가지는 안전성만으로 능동 선택 암호문 공격에 대한 안전성이 증명 가능하다. 그러므로 기존 방식에 비해 훨씬 안전하다.
상기와 같은 목적을 달성하기 위한 본 발명의 2차 잉여류 군에서 정의되는 하이브리드 공개키 암호 기법은, 인증기관 단말, 사용자단말1, 사용자단말2를 참여자로 갖는 공개키 기반 구조에서 사용자단말1이 사용자단말2의 공개키로부터 2차 잉여류 군을 정하고 공개키 암호 기법을 적용하여 두 개의 공통 비밀키(k, K)를 생성하고 메시지와 함께 암호화하는 것을 특징으로 한다.
또한, 본 발명의 2차 잉여류 군에서 정의되는 하이브리드 공개키 암호 기법은, (a) 인증기관을 통해 사용자단말1에서 사용자단말2와 사용할 공통 비밀키를 생성하여 암호화하는 단계; (b) 상기 사용자단말1이 상기 생성한 공통 비밀키를 이용하여 메시지를 암호화하고, 그 결과값에 대한 tag를 생성하여 공통 비밀키를 암호화한 값과 함께 하이브리드 암호 전체의 암호문으로 사용자단말2에게 전송하는 단계; (c) 상기 사용자단말2에서 사용자단말1이 전송한 암호문으로부터 메시지를 복구하기 위해 필요한 공통 비밀키를 암호문에 포함된 데이터로부터 복구하는 단계; 및 (d) 상기 사용자단말2에서 상기 복구한 공통 비밀키를 이용하여 메시지를 복호화하는 단계를 포함하는 것을 특징으로 한다.
이하, 본 발명의 2차 잉여류 군에서 정의되는 하이브리드 공개키 암호 기법에 대하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 바람직한 실시예에 따른 2차 잉여류 군에서 정의되는 하이브리드 공개키 암호 기법에서 참가자간의 상호작용을 예시한 블록도이다.
도 1에 도시된 바와 같이, 공개키 암호 기법은 인증기관(100), 사용자 1(200), 사용자 2(300)의 주참여자를 갖는다. 여기서, 하이브리드 공개키 암호 기법의 각 참여자(100, 200, 300)는 컴퓨터 시스템일 수 있으며, 임의의 종류의 통신 네트워크 또는 다른 기술에 의해 원격으로 통신할 수 있다. 참여자들 사이에 전송될 정보는 다양한 형태의 저장 매체에 저장되거나 기억될 수 있다. 특히 인증기관(100)은 자신이 관리하는 공개키 기반 구조 내의 모든 사용자의 공개키에 대한 인증서와 인증서 상태값을 X.509 와 같은 구조로 관리하며, 사용자 1(200)이 사용자 2(300)의 인증서 유효성 확인을 요청할 경우 인증서 상태값을 사용자 1(200)에게 전송한다. 공개키 기반 구조 내의 모든 사용자는 다음의 암호 알고리즘을 공유한다고 가정하자.
● 메시지 인증 코드(Message Authentication Code; MAC)
MAC은 키 k와 메시지 e
Figure 112006053251635-pat00004
{0, 1}*에 대해, 태그 t=MACk(e)를 계산한다. 본 발명에 사용되기 위해서는 공격자가 임의의 키 k에 대해, 선택한 e*의 태그 MACk(e*)를 얻은 후, k를 모르는 상태에서 e*와는 다른 메시지 e에 대한 MACk(e)를 계산하는 것이 어려워야 한다.
● 비밀키 암호 기법(Symmetric Encryption Scheme)
(E, D)는 암호화 알고리즘 E와 복호화 알고리즘 D로 구성된다. 여기서는 공격자가 임의로 선택된 키 K와 동일한 길이의 메시지 m0와 m1에 대해 EK(m0)와 EK(m1)를 구별하는 것이 어려워야 한다.
● 키 유도함수(Key Derivation Function; KDF)
KDF는 v
Figure 112007061564913-pat00005
QRN에 대해, KDF(v)=(k, K)를 계산한다. 여기서 k는 MAC에서 사용하는 키, 그리고 K는 비밀키 암호 기법에서 사용할 키이다. 임의의 값 v, k, 그리고 K에 대해 KDF(v)와(k, K)를 구별하는 것이 어려워야 한다.
● 목표 충돌 저항 해쉬함수(Target Collision Resistance Hash Function; H)
H: QRN
Figure 112006053251635-pat00006
QRN →ZN'는 임의의 r
Figure 112006053251635-pat00007
ZN 로부터 계산한 u1 *:=gr과 u2 *:=g2r가 주어져 있을 때, H(u1, u2)=H(u1 *, u2 *)인 쌍(u1, u2)(≠(u1 *, u2 *))를 찾는 것이 어려워야 한다.
비트 길이가 l인 서로 다른 소수 p', q'와 p=2p'+1, q=2q'+1가 있다고 하자. 참고로 이러한 소수 p', q'를 Sophie-Germain 소수라 한다. 그리고 N=pq, N'=p'q'라 하자. QRN={x
Figure 112006053251635-pat00008
ZN* :
Figure 112006053251635-pat00009
a
Figure 112006053251635-pat00010
ZN *: a2 = x(mod N)} 을 법(Modulus) N으로 2차 잉여류들의 집합이라 하면 그 위수는 N'이다. 사용자 1(200)과 사용자 2(300)를 포함하는 암호 시스템의 각 사용자가 공개키와 개인키 쌍을 생성하는 단계는 다음과 같다.
합성수 N의 비트 길이가 l이 되도록 소수 p, q, p', q'를 p=2p'+1, q=2q'+1를 만족하도록 생성한다. 이 값들이 군 QRN을 결정한다. 이어 키 유도함수 KDF와 해쉬함수 H를 선택한다. 다음에는 QRN의 생성자 g1을 선택한 후, 임의의 원소 w
Figure 112006053251635-pat00011
ZN'를 선택하여 g2=g1 w를 계산한다. 마지막으로 ZN'의 원소 x1, x2, y1, y2를 선택하고 c=g1 x1g2 x2와 d= g1 y1g2 y2를 계산한다. 사용자의 공개키는 pk =(N, g1, g2, KDF, H, c, d)이고 개인키는 sk =(x1, x2, y1, y2)이다. 즉, 각 사용자가 사용하는 키 유도함수와 해쉬함수는 사용자의 공개키에 포함되어 다른 사용자가 사용자의 공개키를 이용하여 메시지를 암호화할 때 사용하게 된다. 만일 암호 체계의 전 사용자가 사용하는 키 유도함수와 해쉬함수가 동일할 경우 이들은 시스템 파라미터의 일부로 고정하고 공개키에서 생략할 수도 있다. 이 때, 공개키는 pk=(N, g1, g2, c, d)와 같다.
도 2는 본 발명의 바람직한 실시예에 따른 2차 잉여류 군에서 정의되는 하이브리드 공개키 암호 기법에서 사용자 1이 사용자 2에게 공통 비밀키와 메시지를 암호화해서 보내는 과정을 예시한 블록도이다.
도 2에 도시된 바와 같이, 사용자 1(200)은 사용자 2(300)의 인증서 상태를 인증기관으로부터 전달받아 X.509에 기술된 방식에 따라 확인한다. 인증서가 유효한 경우, 사용자 1은 사용자 2의 공개키를 인증서에서 추출하여 ZN'을 구성한 뒤, 임의의 원소 r을 선택하고, u1=g1 r, u2=g2 r을 계산한다. 앞에서 언급한 바와 같이 여기에서 N'를 사용자가 알 필요는 없기 때문에 N' 대신 [N/4]을 사용해도 충분하다. 이렇게 계산된 값을 이용하여 h=H(u1, u2)와 v=crdrh을 계산한다. 여기에서 v가 메시지 암호화에 사용되는 공통 비밀키를 생성하는 입력값이 된다. 키 유도함수 KDF에 v를 입력하여 두 종류의 키(k, K)=KDF(v)를 얻게 되는데, 이 값이 바로 사용자 1과 사용자 2가 공유하는 공통 비밀키이다. 본 발명에서 DEM은 비밀키 암호 기법과 MAC알고리즘의 연속적인 계산으로 이뤄지기 때문에 두 개의 키가 필요하며, K는 비밀키 암호 기법(E, D)에 사용되어 e=EK(m)을 계산하고, k는 e에 대한 태그(Tag) t=MACk(e)를 계산하는데 사용된다. 사용자 1(200)은 메시지 m에 대한 암호문으로 c=(u1, u2, e, t)를 구성하여 사용자 2(300)에게 전송한다.
도 3은 본 발명의 바람직한 실시예에 따른 2차 잉여류 군에서 정의되는 하이브리드 공개키 암호 기법에서 사용자 2가 사용자 1로부터 받은 암호문을 복호화하여 메시지를 얻는 과정을 예시한 블록도이다.
도 3에 도시된 바와 같이, 사용자 1(200)로부터 암호문 c를 전달받은 사용자 2(300)는 c를 복호화하여 메시지를 얻기 위해 먼저 h=H(u1, u2)를 계산한다. 이 값을 이용하여 v=u1 (x1+hy1)u2 (x2+hy2)를 계산하고 공통 비밀키(k, K)=KDF(v)를 얻는다. 키 k와 암호문에서 얻어진 값 e를 이용하여 MACk(e)을 계산한 후, 만일 t=MACk(e)이면 m=DK(e)을 계산하여 반환하고 아니면 “실패”를 출력한다.
기존의 Lucks가 제안한 2차 잉여류 군 QRN에서의 KEM을 이용한 하이브리드 암호와는 KEM의 설계 방식에 있어서 차이가 있다. Lucks의 방식에서는 KEM 자체가 IND-CCA2 안전성을 가지도록 설계를 한 반면, 본 발명에서는 KEM자체의 안전성은 IND-CCA2 안정성에 미치지 못한다 (J. Herranz, D. Hofheinz and E. Kiltz, The Kurosawa-Desmedt key encapsulation is not chosen-ciphertext secure, Cryptology ePrint Archive, Report 2006/207). 하지만 전체 하이브리드 공개키 암호의 안전성은 동일하며, 덕분에 암호화 과정에서 두 번의 지수승 연산을 생략하는 것이 가능하고 복호화 과정에서 한 번의 지수승 연산을 생략하는 것이 가능하다. 또한 Lucks의 KEM 방식에서는 KEM 자체의 안전성을 위해 필요한 변수들이 키와 암호문에 같이 들어가 있었지만, 본 발명에서 이러한 부분을 배제하여 사용자 공개키나 암호문의 길이, 암/복호화 과정에서의 계산량이 감소함을 쉽게 확인할 수 있다.
본 발명에서 제안하는 하이브리드 공개키 암호 기법에 대한 안전성은 2차 잉여류 군 QRN에서의 결정적 Diffie-Hellman(Decisional Diffie-Hellman) 가정과 N에 대한 소인수분해(Integer Factorization) 가정에 기반한다. 이를 증명하기 위해서는 KEM-DEM 모델의 안전성 증명을 위해 일반적으로 사용되는 “Game Hopping Proof” 방법 (V. Shoup, Sequences of games: a tool for taming complexity in security proofs, Cryptology ePrint Archive, Report 2004/332)을 그대로 적용할 수 있다. 이 방법의 구성은 우선, 공격자와 시뮬레이터(simulator) 사이의 상호 계산으로 이루어진 Game 0을 정의한다. 이 게임은 단지 능동 선택 암호문 공격에 대한 안전성을 정의하기 위해 사용된 형태를 그대로 따르는 것으로 시뮬레이터는 공 격자에게 공격할 수 있는 암호 기법의 환경을 제공해준다. 이어 공격자의 오라클 질의에 대답하는 방법을 조금씩 바꿔가면서 연속적으로 Game 1, Game 2, …, Game n을 정의한다. 물론 각 게임은 같은 기본적인 확률 공간에서 실행되며 암호 기법의 공개키와 개인키, 공격자의 동전던지기(coin tossing), 그리고 숨겨진 비트 b는 모든 게임을 통해 같은 값을 가진다. 증명에서는 연속적인 Game의 변화에서 Game(i-1)과 Game i 사이의 차이로부터 공격자가 얻어낼 수 있는 정보가 거의 없음을 보임으로써 Game 0의 안전성, 즉 능동 선택 암호문 공격에 대한 안전성을 증명할 수 있게 된다. KEM-DEM 모델의 경우 KEM과 DEM이 모듈화되어 있기 때문에 이러한 증명 방식을 적용하기 쉬운 측면이 있다. 실제 구체적인 증명은 소수 위수를 가지는 군에서 정의된 Kurosawa-Desmedt 기법에 대한 안전성 증명을 2차 잉여류 군의 특성에 따라 약간의 변형을 주는 선으로 가능하다.
이상에서 몇 가지 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것이 아니고 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다.
상술한 바와 같이, 본 발명에 따르면 기존의 공개키 암호 기법의 대다수가 이상적인 해쉬함수를 가정하는 랜덤 오라클 모델에서 능동 선택 암호문 공격에 대한 안전성을 보장하는 것에 비해, 실제 본 발명에서 사용하는 해쉬함수가 가지는 안전성만으로 능동 선택 암호문 공격에 대한 안전성이 증명 가능하므로 기존 방식에 비해 훨씬 안전하다.

Claims (8)

  1. 인증기관 단말, 사용자단말1, 사용자단말2를 참여자로 갖는 공개키 기반 구조에서 사용자단말1이 사용자단말2의 공개키로부터 2차 잉여류 군을 정하고 공개키 암호 기법을 적용하여 두 개의 공통 비밀키(k, K)를 생성하고 메시지와 함께 암호화하는 것을 특징으로 하는 2차 잉여류 군에서 정의되는 하이브리드 공개키 암호 기법.
  2. 제1항에 있어서, 상기 생성된 사용자단말1과 사용자단말2 사이의 공통 비밀키(k, K)를 DEM(Data Encapsulation Mechanism)에 적용하여 메시지 m에 대한 암호화 e=EK(m)와 그 결과에 대한 태그 t=MACk(e)를 생성하는 것을 특징으로 하는 2차 잉여류 군에서 정의되는 하이브리드 공개키 암호 기법.
  3. 제2항에 있어서, 상기 공통 비밀키(k, K)를 암호화한 값, 상기 e=EK(m), 상기 t=MACk(e)를 전체 하이브리드 공개키 암호의 암호문으로 전송하는 것을 특징으로 하는 2차 잉여류 군에서 정의되는 하이브리드 공개키 암호 기법.
  4. 제3항에 있어서, 상기 암호문에 포함된 공통 비밀키에 대한 암호문으로부터 자신의 개인키를 이용하여 공통 비밀키(k, K)를 복구하는 것을 특징으로 하는 2차 잉여류 군에서 정의되는 하이브리드 공개키 암호 기법.
  5. 제4항에 있어서, 상기 공통 비밀키(k, K)를 이용하여 비밀키 암호 기법으로 생성된 메시지에 대한 암호화 값에 대한 tag가 하이브리드 공개키 암호 전체의 암호문에 포함된 tag값과 일치하는지 검증한 후, 이상이 없을 경우 비밀키 암호 기법으로 복호화하여 메시지 m을 복구하는 것을 특징으로 하는 2차 잉여류 군에서 정의되는 하이브리드 공개키 암호 기법.
  6. (a) 인증기관을 통해 사용자단말1에서 사용자단말2와 사용할 공통 비밀키를 생성하여 암호화하는 단계;
    (b) 상기 사용자단말1이 상기 생성한 공통 비밀키를 이용하여 메시지를 암호화하고, 그 결과값에 대한 tag를 생성하여 공통 비밀키를 암호화한 값과 함께 하이브리드 암호 전체의 암호문으로 사용자단말2에게 전송하는 단계;
    (c) 상기 사용자단말2에서 사용자단말1이 전송한 암호문으로부터 메시지를 복구하기 위해 필요한 공통 비밀키를 암호문에 포함된 데이터로부터 복구하는 단계; 및
    (d) 상기 사용자단말2에서 상기 복구한 공통 비밀키를 이용하여 메시지를 복호화하는 단계
    를 포함하는 것을 특징으로 하는 2차 잉여류 군에서 정의되는 하이브리드 공개키 암호 기법.
  7. 제6항에 있어서, 상기 (a) 단계는,
    사용자단말1에서 사용자단말2의 인증서를 인증기관 단말로부터 전달받아 공개키를 추출하는 단계;
    상기 공개키로부터 2차 잉여류 군을 구성하는 단계;
    상기 2차 잉여류 군에서 정의되는 키 유도함수와 해쉬함수를 구하여 공개키 및 개인키를 구성하는 단계; 및
    메시지 암호화에 사용되는 공통 비밀키를 생성하는 입력값을 키 유도함수에 입력하여 두 개의 공통 비밀키(k, K)를 구하는 단계
    로 이루어진 것을 특징으로 하는 2차 잉여류 군에서 정의되는 하이브리드 공개키 암호 기법.
  8. 제6항에 있어서, 상기 (c) 단계는,
    상기 암호문으로부터 해쉬함수를 계산하는 단계;
    메시지 복호화에 사용되는 공통 비밀키를 생성하는 입력값을 계산하는 단계; 및
    상기 입력값을 키 유도함수에 입력하여 공통 비밀키(k, K)를 구하는 단계
    로 이루어진 것을 특징으로 하는 2차 잉여류 군에서 정의되는 하이브리드 공개키 암호 기법.
KR1020060069710A 2005-12-08 2006-07-25 2차 잉여류 군에서 정의되는 하이브리드 공개키 암호 기법 KR100778057B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20050119900 2005-12-08
KR1020050119900 2005-12-08

Publications (2)

Publication Number Publication Date
KR20070061223A KR20070061223A (ko) 2007-06-13
KR100778057B1 true KR100778057B1 (ko) 2007-11-21

Family

ID=38357160

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060069710A KR100778057B1 (ko) 2005-12-08 2006-07-25 2차 잉여류 군에서 정의되는 하이브리드 공개키 암호 기법

Country Status (1)

Country Link
KR (1) KR100778057B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010008921A (ko) * 1999-07-06 2001-02-05 정선종 환 위의 타원곡선을 이용한 공개키 암호화 방법
KR20030076782A (ko) * 2002-03-21 2003-09-29 (주)애트리움씨앤아이 데이터 암호화 전송 방법
KR20050021794A (ko) * 2003-08-26 2005-03-07 삼성전자주식회사 데이터를 안정적으로 전송할 수 있는 기가비트 이더넷기반의 수동 광가입자망 및 이를 이용한 데이터 암호화 방법
KR20050060394A (ko) * 2003-12-16 2005-06-22 김기호 암호화된 통신을 위한 비밀키 교환 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010008921A (ko) * 1999-07-06 2001-02-05 정선종 환 위의 타원곡선을 이용한 공개키 암호화 방법
KR20030076782A (ko) * 2002-03-21 2003-09-29 (주)애트리움씨앤아이 데이터 암호화 전송 방법
KR20050021794A (ko) * 2003-08-26 2005-03-07 삼성전자주식회사 데이터를 안정적으로 전송할 수 있는 기가비트 이더넷기반의 수동 광가입자망 및 이를 이용한 데이터 암호화 방법
KR20050060394A (ko) * 2003-12-16 2005-06-22 김기호 암호화된 통신을 위한 비밀키 교환 방법

Also Published As

Publication number Publication date
KR20070061223A (ko) 2007-06-13

Similar Documents

Publication Publication Date Title
Tseng et al. A chaotic maps-based key agreement protocol that preserves user anonymity
US5974144A (en) System for encryption of partitioned data blocks utilizing public key methods and random numbers
CN113259329B (zh) 一种数据不经意传输方法、装置、电子设备及存储介质
EP1548976B1 (en) A message deciphering method
CN110113155B (zh) 一种高效无证书公钥加密方法
CN109831297A (zh) 一种支持门限解密的多身份全同态加密方法
CN104301108B (zh) 一种从基于身份环境到无证书环境的签密方法
JPH03128541A (ja) 暗号通信システムと暗号通信方法
JPH06169306A (ja) 安全な通信のためのプロトコルおよび装置
CN111277412B (zh) 基于区块链密钥分发的数据安全共享系统及方法
US20030149876A1 (en) Method and system for performing perfectly secure key exchange and authenticated messaging
Koko et al. Comparison of Various Encryption Algorithms and Techniques for improving secured data Communication
CN104158880A (zh) 一种用户端云数据共享解决方法
EP3462668A1 (en) Plaintext equivalence proof techniques in communication systems
US20070183600A1 (en) Secure Cryptographic Communication System Using Kem-Dem
KR20010000738A (ko) 계산적 디피-헬만 가정에 기반하는 안전성 증명 가능한공개키 암호화 방법
EP2377265A1 (en) System and method for countering side-channel attacks against encryption based on cyclic groups
CA2341689C (en) Method for the secure, distributed generation of an encryption key
JP2004246350A (ja) 暗号化装置および復号化装置、並びにこれらを備えた暗号システム、暗号化方法および復号化方法
KR20030047148A (ko) Rsa를 이용한 클라이언트/서버 기반의 메신저 보안 방법
JPH07175411A (ja) 暗号システム
KR100778057B1 (ko) 2차 잉여류 군에서 정의되는 하이브리드 공개키 암호 기법
Murugan An efficient algorithm on quantum computing with quantum key distribution for secure communication
Moldovyan et al. Randomized pseudo-probabilistic encryption algorithms
Khudhair et al. Text multilevel encryption using new key exchange protocol

Legal Events

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

Payment date: 20121011

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130930

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140916

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee