KR20040009766A - 암호 시스템에서 송수신 장치 및 방법 - Google Patents

암호 시스템에서 송수신 장치 및 방법 Download PDF

Info

Publication number
KR20040009766A
KR20040009766A KR1020020043817A KR20020043817A KR20040009766A KR 20040009766 A KR20040009766 A KR 20040009766A KR 1020020043817 A KR1020020043817 A KR 1020020043817A KR 20020043817 A KR20020043817 A KR 20020043817A KR 20040009766 A KR20040009766 A KR 20040009766A
Authority
KR
South Korea
Prior art keywords
random number
hash value
session key
ciphertext
key
Prior art date
Application number
KR1020020043817A
Other languages
English (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 KR1020020043817A priority Critical patent/KR20040009766A/ko
Publication of KR20040009766A publication Critical patent/KR20040009766A/ko

Links

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/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

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

Abstract

본 발명은 안전성 증명이 가능한 암호 시스템에 관한 것이다. 이러한 암호 시스템의 송신방법은, 랜덤수 R과 r을 선택하는 과정과, 상기 선택된 랜덤수 R과 r을 수신자의 공개키(pk)로 암호화하여 제1암호문을 발생하는 과정과, 상기 랜덤수 R을 난수 생성기 G에 입력하여 세션키 K를 발생하는 과정과, 상기 랜덤수 R, 상기 제1암호문 및 평문 메시지 m을 해쉬함수 H에 입력하여 해쉬값 h를 발생하는 과정과, 상기 평문 메시지 m과 상기 해쉬값 h를 연결한 스트링을 상기 세션키 K에 해당하는 스트링을 이용해 구별 불가능성을 만족하는 대칭키 암호 방식으로 암호화하여 제2암호문을 발생하는 과정과, 상기 제1암호문 및 상기 제2암호문을 수신자에게 전송하는 과정을 포함한다.

Description

암호 시스템에서 송수신 장치 및 방법{APPARATUS AND METHOD FOR TRANSMITTING AND RECEIVING IN ENCRYPTION SYSTEM}
본 발명은 암호 시스템에 관한 것으로, 특히 안전성 검증이 가능한 공개키 암호 시스템에서의 송수신 장치 및 방법에 관한 것이다.
최근들어, 인테넷의 발달로 인해 네트워크를 통한 거래가 활성화되고 있으며, 더불어 국내외에서 정보보호 기술(암호시스템)에 대한 관심이 급증하고 있다.
일반적으로, 암호시스템은 크게 대칭키 암호시스템(Symmetric Cryptosystem)과 공개키 암호시스템(Public-Key Cryptosystem)으로 나눌 수 있다. 상기 대칭키 암호시스템은 암호화와 복호화에 사용되는 키가 동일한 암호시스템으로, 송신자와 수신자간에 동일한 비밀키를 공유하고 있어야만 하기 때문에, 시스템에 n명의 사용자가 존재할 경우 사용자간 암호화통신을 위해서는 n*(n-1)/2 개의 비밀키가 존재하게 된다.
이와 같은 키관리 및 키분배가 대칭키 암호시스템의 가장 큰 문제점이며, 이를 해결하기 위해 제안되어진 암호시스템이 공개키 암호시스템이다.
도 1은 통상적인 공개키 암호시스템의 개념을 도시한 것이다. 도시된 바와 같이, 공개키 암호 시스템은 암호화키와 복호화키가 서로 다른 암호 시스템을 의미한다. 키 생성 알고리즘을 통해 두개의 키를 생성하여 그 중 하나를 전화번호부에전화번호를 공개하듯이 공개하고, 나머지 하나를 비밀키로 자신이 보관하여 사용하는 것이다. 사용자 A가 사용자 B와 통신할 때 A는 B의 공개키를 이용하여 평문을 암호화하여 보내면 B는 수신한 암호문을 자신의 비밀키로 풀어 평문을 확인한다. 따라서 공개키 암호 시스템의 사용자는 오직 자신의 비밀키만 보관하면 되기 때문에 키관리/키분배 문제를 해결할수 있다.
그러나, 현재 널리 사용되고 있는 공개키 암호 시스템은 그 안전성에 대한 정확한 증명이 이루어지지 않았다는 단점이 있다.
예를들어, 1994년 'Bellare'와 'Rogaway'는 최초로 안전성 증명이 가능한 OAEP(Optimal Asymmetric Encryption Padding)라는 암호 방식을 개발하였으나 이 방식은 RSA(Rivest, Shamir, Adelman)와 같은 'trapdoor permutation'에 기반한 암호 방식에만 적용 가능한 방식이다. 최근 들어, 보다 일반화된 변형 방식들이 많이 제안되었으나 대부분의 방식들이 암호문을 복호화하는 경우에 재 암호화를 해야 한다는 문제점과 IND-CPA를 만족하는 공개키 암호 시스템에만 적용 가능하다는 한계점이 있다.
2001년 'Okamoto' 등은 암호문의 검증시 재 암호화가 필요하지 않고 임의의 공개키 암호 시스템에 적용할 수 있는 REACT(Rapid Enhanced-security Asymmetric Cryptosystem Transform)라는 개선된 방식을 제안하였으나, 이 방식은 그 안전성을 증명하는데 있어 랜덤 오라클 가정을 사용해야 한다는 단점이 있다.
따라서 상기한 문제점을 해결하기 위한 본 발명의 목적은 안전성 검증이 가능한 공개키 암호시스템에서의 송수신 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 CCS(chosen Ciphertext Security)를 만족하는 공개키 암호시스템을 제공함에 있다.
본 발명의 또 다른 목적은 암호문 검증시 재 암호화가 필요없는 공개키 암호시스템을 제공함에 있다.
본 발명의 또 다른 목적은 랜덤 오라클 가정을 사용하지 않고 표준모델에서 안전성 증명이 가능한 공개키 암호시스템을 제공함에 있다.
본 발명의 또 다른 목적은 대칭키 암호시스템, 공개키 암호시스템 및 해쉬함수를 결합한 암호시스템을 제공함에 있다.
상기 목적들을 달성하기 위한 본 발명의 바람직한 실시 예에 따른, 안전성 검증이 가능한 암호시스템에서 통신방법은, 송신장치가, 랜덤수 R과 r을 선택하고, 상기 선택된 랜덤수 R과 r을 수신자의 공개키(pk)로 암호화하여 제1암호문 C1(=)을 발생하는 과정과, 상기 랜덤수 R을 난수 생성기 G에 입력하여 세션키 K(=)를 발생하는 과정과, 상기 랜덤수 R, 상기 제1암호문 및 평문 메시지 m를 해쉬함수 H에 입력하여 해쉬값 h(=)를 발생하는 과정과, 상기 평문 메시지 m과 상기 해쉬값 h를 연결한 스트링을 상기 세션키 K를 이용해 구별 불가능성을 만족하는 대칭키 암호 방식으로 암호화하여 제2암호문 C2(=)을 발생하는 과정과, 상기 제1암호문 및 상기 제2암호문을 수신자에게 전송하는 과정과, 수신장치가, 상기 제1암호문 및 상기 제2암호문을 수신하는 과정과, 상기 제1암호문을 상기 수신장치의 비밀키(sk)로 복호하여 랜덤수 R을 획득하는 과정과, 상기 획득한 랜덤수 R을 상기 난수 생성기 G에 입력하여 세션키 K를 획득하는 과정과, 상기 제2암호문을 상기 힉득한 세션키 K로 복호하여 검증되지 않은 평문 메시지 m'과 해쉬값 h'를 획득하는 과정과, 상기 랜덤수 R, 상기 제1암호문 및 상기 평문메세지 m'를 해쉬함수 H에 입력하여 해쉬값 h(=)를 계산하는 과정과, 상기 계산된 해쉬값 h와 상기 획득한 해쉬값 h'를 비교하는 과정과, 상기 두 해쉬값들이 동일할 경우 상기 획득한 평문 메시지 m'를 정당한 평문 메시지로 출력하는 과정을 포함하는 것을 특징으로 한다.
도 1은 통상적인 공개키 암호시스템의 개념을 도시하는 도면.
도 2는 본 발명의 실시 예에 따른 안전성 검증이 가능한 공개키 암호 시스템에서의 송신장치를 도시하는 도면.
도 3은 본 발명의 실시 예에 따른 안전성 검증이 가능한 공개키 암호 시스템에서 평문 메시지를 암호화하여 송신하기 위한 절차를 도시하는 도면.
도 4는 본 발명의 실시 예에 따른 안전성 검증이 가능한 공개키 암호 시스템에서의 수신장치를 도시하는 도면.
도 5는 본 발명의 실시 예에 따른 안전성 검증이 가능한 공개키 암호 시스템에서 암호화된 평문 메시지를 수신하여 복호하기 위한 절차를 도시하는 도면.
<도면의 주요부분에 대한 부호의 설명>
200 : 제1암호문 생성부 201 : 세션키 생성부
202 : 제2암호문 생성부 203 : 해쉬값 생성부
204 : 전송부 401 : 제1암호문 복호부
402 : 세션키 계산부 403 : 제2암호문 복호부
404 : 판단부
이하 본 발명의 바람직한 실시 예를 첨부된 도면의 참조와 함께 상세히 설명한다. 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다.
이하 본 발명은 CCS를 만족(혹은 안전성 검증이 가능한)하는 공개키 암호 시스템에 대해 설명할 것이다. 이러한 본 발명은 안전한 전자 우편 시스템, 전자 상거래 시스템, 전자 투표 및 전자 경매 시스템 등에서 전송되는 메시지를 암호화하는데 용이하게 적용될 수 있다. 즉, 기밀성(confidentiality) 제공이 요구되는 모든 분야에 적용 가능하다.
본 발명에 따른 CCS(Chosen Ciphertext Security)를 만족하는 공개키 암호 시스템은 다음과 같이 4개의 기본 프리미티브(primitive)들로 구성되며, 각각의 기능은 다음과 같다.
(1) 키 전송 시스템() : 대칭키 암호 시스템에서 사용될 세션키를 생성할 수 있는 랜덤한 초기 값(seed) R을 암호화된 형태로 전송하는 기능을 수행한다. 여기서, 상기 초기 값 R을 암호화한 암호문은 비밀키를 아는 사람만이 복호할 수 있도록 한다. 이것은 공개키 암호 방식의 기본 원리이다. 즉, 상기 초기 값 R은 세션키 K를 생성하는데 이용하며, 아울러 해쉬함수의 대칭키로 사용된다. 키 전송 시스템(Key Transfer System)은 하기 <수학식 1>과 같은 세 개의 알고리즘으로 구성된다.
여기서, 상기은 키 생성 알고리즘으로 안전성 계수 k를 입력으로 랜덤한 공개키-비밀키 쌍 (pk, sk)를 출력하는 확률론적 알고리즘이다.(k∈N)
다음으로, 상기 는 (세션)키 암호 알고리즘(Key Encapsulation Scheme)으로 공개키 pk(public key)와 랜덤한 값 R∈M을 입력으로 암호화된 정보 Ψ를 출력하는 확률론적 알고리즘이다. (M : message space, r : random coins, r∈Ω)
다음으로,는 (세션)키 복호 알고리즘(Key Decapsulation Scheme)으로 비밀키 sk와 암호화된 정보 Ψ를 입력으로 본래의 랜덤한 입력 값 R을 출력하는 결정론적 알고리즘이다.
(2) 의사 난수 생성기(G) : 초기 값 R을 입력으로 대칭키 암호 시스템의 세션키 K를 생성하는 기능을 수행한다.
(3) 해쉬 함수(H) : 암호문의 변경 여부를 검증하는 기능을 하며 초기 값 R과 키 전송 시스템의의 출력 값, 그리고 평문(m)이 해쉬 함수의 입력 값이 된다.
(4) 대칭키 암호 시스템() : 실질적인 평문(m)의 암호화/복호화 기능을 하며, 평문과 해쉬함수의 출력 값을 세션키 K로 암호화 및 복호한다.
상기한 바와 같이, 대칭키 암호 시스템을 결합한 새로운 공개키 암호 시스템은 하기 <수학식 2>와 같이 세 개의 알고리즘으로 구성된다.
여기서, 상기 SPOT은 본건 출원인이 정의한 것으로 'SPOT : the Powerful and Optimal Transform in the Standard model'의 약어이다. 한편, 상기는 키 생성 알고리즘을 나타내고, 상기는 암호 알고리즘을 나타내며, 상기는 복호 알고리즘을 나타낸다.
먼저, 상기 키 생성알고리즘()는 안전성 계수 k를 입력으로 공개키와 비밀키 쌍 (pk,sk)를 출력하는 기능을 수행한다.
다음으로, 상기 암호 알고리즘()은 다음과 같은 기능을 수행하여 암호문을 새성한다.
: 공개키 방식에 기반한 키 전송 시스템의 암호 방식(KES)으로 랜덤한 초기 값(seed) R을 암호화한다.
: R을 입력으로 대칭키 암호 방식의 세션키 K를 계산한다.
: 결과 값 h는 검증 정보로 사용되며 R과 첫 번째 암호문 c1, 평문 m이 해쉬 함수의 입력 값이 된다.
: 평문 m과 해쉬 함수의 결과 값 h를 세션키 K를 이용해 대칭키 암호 방식으로 암호화한다. 따라서, 평문 m에 대한 암호문은 C=(C_1 , C_2 )가 된다.
다음으로, 상기 복호 알고리즘()은 다음과 같은 기능을 수행하여 수신된 암호문을 복호한다.
: 키 전송 시스템의 복호 방식(KDS)으로 C1을 복호해서 R값을 찾는다.
: 복호된 R을 이용해 세션키 K를 계산한다.
: 세션키 K를 이용해 C2를 복호한다.
일 때,을 만족하면 m'(=m)을 출력한다.
상술한 바와 같이, 본 발명에 따른 암호시스템은, 공개키 암호 시스템(또는 키 전송시스템), 난수 생성기, 해쉬함수 및 대칭키 암호시스템으로 구성될수 있다. 여기서, 공개키 암호 시스템은 세선키 생성에 필요한 초기 값을 암호화하고, 상기 난수 생성기는 대칭키 암호 시스템의 세션키를 생성하며, 상기 해쉬함수는 평문에 대한 검증정보를 생성하고, 상기 대칭키 암호 시스템은 실제 평문의 암호화를 수행한다.
이러한 본 발명은 CCS(Chosen Ciphertext Security)를 만족하는(또는 안전성이 증명 가능한) 공개키 암호 시스템을 제안하는 것으로, RSA와 ElGamal 등과 같은 공개키 암호 시스템은 물론 Diffie-Hellman 키 전송 방식과 같은 키 분배 시스템에도 적용 가능하다. 따라서 기존에 개발된 방식들에 비해 다양한 암호 시스템에 적용할 수 있으며, 안전성을 증명하는데 있어 랜덤 오라클 가정을 사용하지 않고 표준 모델에서 증명 가능하다는 장점이 있다.
상술한 내용에 근거한 본 발명에 따른 구체적인 구성 및 동작을 살펴보면 다음과 같다.
도 2는 본 발명의 실시 예에 따른 안전성 검증이 가능한 공개키 암호 시스템에서의 송신장치를 도시하고 있다. 도시된 바와 같이, 상기 송신장치는 제1암호문 생성부(200), 세션키 생성부(201), 해쉬값 계산부(202), 제2암호문 생성부(203) 및 전송부(204)를 포함하여 구성된다.
상기 도 2를 참조하면, 먼저 제1암호문 생성부(200)는 랜덤하게 선택된 초기값 R과 r을 수신자의 공개키(pk)로 암호화하여 제1암호문()을 생성한다. 세션키 생성부(201)는 의사난수 생성기(G)로, 상기 랜덤수 R를 입력으로 세션키()를 발생한다. 예를들어, 상기 의사난수 생성기는 PN(Pseduo Noise)코드 생성기가 될 수 있다. 해쉬값 계산부(202)는 상기 랜덤수 R, 상기 제1암호문 C1및 평문 메시지 m을 입력하며, 상기 세 개의 입력들을 해쉬 함수 H에 대입하여 미리 정해진 길이를 갖는 스트링(해쉬 값 h)을 발생한다. 여기서, 상기 해쉬 함수 H는 가변크기의 입력을 해쉬값 h 라 불리는 고정된 크기의 스트링으로 변화 시켜주는 함수로, 현재까지 여러 종류의 해쉬함수들이 제안되고 있다. 대표적인 것으로는 MD5, SHA-1, RIPEMD-160 등이 있다.
제2암호문 생성부(203)는 상기 세션키 K, 상기 해쉬값 h 및 상기 평문 메시지 m을 입력하며, 상기 평문 메시지에 해당하는 스트링과 상기 해쉬값에 해당하는 스트링을 연결(concatenate)한 스트링을 상기 세션키 k를 이용해 구별 불가능성을 만족하는 대칭키 암호 방식으로 암호화한다. 즉, 상기 연결하여 생성된 스트링과 상기 세션키 k에 해당하는 스트링을 비트 단위로 배타적가산(XOR)하거나 AES(Advanced Encryption Standard)와 같은 대칭키 암호 방식으로 암호화하여 제2암호문()을 생성한다. 전송부(204)는 상기 제1암호문 생성부(200)로부터의 상기 제1암호문 C1과 상기 제2암호문 생성부(203)로부터의 상기 제2암호문을 소정 전송규격의 신호로 변환하여 인터넷망을 통해 수신자에게 송신한다.
도 3은 본 발명의 실시 예에 따른 안전성 검증이 가능한 공개키 암호 시스템에서 평문 메시지를 암호화하여 송신하기 위한 절차를 도시하고 있다.
상기 도 3을 참조하면, 송신자는 301단계에서 메시지 m을 암호화하기 위해, 먼저 랜덤수 R과 r을 선택한 후 수신자의 공개키(pk)로 암호화하여 제1암호문()을 생성한다. 한편, 상기 송신자는 303단계에서 상기 랜덤수 R을 난수 생성기 G에 입력하여 세션키()를 생성한다. 여기서, 상기 난수 생성기 G는 PN코드 생성기가 될 수 있다. 이후, 상기 송신자는 305단계에서 상기 랜덤수 R, 상기 생성된 제1암호문 C1, 평문 메세지 m을 해쉬 함수 H에 입력하여 해쉬 값()을 계산한다. 즉, 상기 세 개의 입력들을 해쉬함수 H에 대입하여 소정 길이를 갖는 스트링 h를 생성한다.
그리고, 상기 송신자는 307단계에서 상기 평문 메시지 m에 해당하는 스트링과 상기 계산한 해쉬값 h에 해당하는 스트링을 세션키 k를 이용하여 구별 불가능성을 만족하는 대칭키 암호 방식으로 암호화하여 제2암호문()을 생성한다. 즉, 상기 평문 메시지 m과 상기 해쉬값 h를 연결하여 생성된 스트링과 상기 세션키 k에 해당하는 스트링을 배타적가산(XOR)하여 상기 제2암호문을 생성한다. 이후, 상기 송신자는 309단계에서 상기 생성된 제1암호문과 제2암호문을 소정 전송규격의 신호로 변환하여 수신자에게 송신한다.
상술한 바와 같이, 본 발명에 따른 암호화 과정은, 먼저 랜덤수 R과 r을 공개키 암호 시스템을 이용하여 암호화하여 제1암호문 C1을 생성한다. 그리고, 상기 랜덤수 R을 난수 생성기의 입력으로 하여 세션키 K를 생성하고, 상기 R, C1및 m을 해쉬함수의 입력으로 하여 해쉬값 h를 계산한다. 마지막으로, 세션키 K와 평문 m 및 해쉬값 h를 대칭키 암호방식을 이용하여 암호화하여 제2암호문 C2를 생성한후, 상기 암호문 C1및 C2를 수신자에게 전송하는 것으로 이루어진다.
도 4는 본 발명의 실시 예에 따른 안전성 검증이 가능한 공개키 암호 시스템에서의 수신장치를 도시하고 있다. 도시된 바와 같이, 상기 수신장치는, 제1암호문 복호부(401), 세션키 계산부(402), 제2암호문 복호부(403) 및 판단부(404)를 포함하여 구성된다.
상기 도 4를 참조하면, 먼저 제1암호문 복호부(401)는 수신되는 제1암호문()을 수산자의 비밀키 sk(secrete key)로 복호하여 상기 랜덤수 R을 출력한다. 세션키 계산부(402)는 의사난수 생성기 G로, 상기 제1암호문 복호부(401)로부터의 상기 랜덤수 R을 입력으로 상기 세션키()를 발생한다. 제2암호문 복호부(403)는 수신되는 제2암호문()을 상기 세션키 계산부(402)로부터의 상기 세션키로 복호(또는 배타적가산)하여 소정 스트링()를 획득한다. 여기서, 상기 소정 스트링은 송신자가 송신한 평문 메시지와 해쉬값을 포함하고 있다. 각각의 메시지를 프라임(')을 사용하여 표현한 것은, 검증되지 않은 메시지이기 때문이다.
따라서, 판단부(404)는 상기 제2암호문 복호부(403)에서 획득한 평문 메시지(m')가 정당한 평문인지를 판단하고, 정당하다고 판단될 때 상기 획득한 평문 메시지 m'을 정당한 평문으로 출력한다. 즉, 상기 판단부(404)는 상기 제1암호문 복호부(401)에서 획득한 랜덤수 R, 상기 수신된 제1암호문, 상기 제2암호문 복호부(403)에서 획득한 평문메세지 m'을 해쉬함수 H에 입력하여 해쉬값 h를 계산하고, 상기 계산된 해쉬값 h가 상기 제2암호문 복호부(403)에서 획득한 해쉬값 h'와 동일한지를 판단한다. 만일, 동일하면 상기 평문메세시 m'를 정당한 평문 메시지로 출력하고, 상이하면 에러메세지를 출력한다.
도 5는 본 발명의 실시 예에 따른 안전성 검증이 가능한 공개키 암호 시스템에서 암호화된 평문 메시지를 수신하여 복호하기 위한 절차를 도시하고 있다.
상기 도 5를 참조하면, 먼저 수신자는 501단계에서 송신자로부터 제1암호문 C1및 제2암호문 C2를 수신하여 저장한다. 이후, 상기 수신자는 503단계에서 상기 수신된 제2암호문 C2를 상기 수신자의 비밀키(sk)로 복호하여 송신자가 세션키 생성에 사용한 랜덤수 R을 획득한다. 그리고 상기 수신자는 505단계에서 상기 획득한 랜덤수 R을 난수 생성기 G에 입력하여 송신자가 평문( 및 해쉬값)을 암호할 때 사용한 세션키(K=G(R) )를 획득한다. 여기서, 상기 난수 생성기 G는 PN코드 생성기가될 수 있다.
이후, 상기 수신자는 507단계에서 상기 수신된 제2암호문 C2를 상기 획득된 세션키로 복호(또는 배타적가산)하여 소정 스트링()을 획득한다. 여기서, 상기 소정 스트링은 송신자가 송신한 평문 메시지와 해쉬값을 포함하고 있다. 각각의 메시지를 프라임(')을 사용하여 표현한 것은, 검증되지 않은 메시지이기 때문이다.
따라서, 상기 수신자는 509단계에서 상기 획득한 랜덤수 R, 상기 수신된 제1암호문, 상기 소정 스트링에 포함된 평문메세지 m'를 해쉬함수 H에 입력하여 해쉬값 h를 계산한다. 그리고, 상기 수신자는 511단계에서 상기 계산된 해쉬값 h가 상기 소정 스트링에 포함되어 있는 해쉬값 h'와 동일한지를 판단한다. 만일, 상기 계산된 해쉬값 h와 상기 소정 스트링으로부터 획득한 해쉬값 h'가 동일하면, 상기 수신자는 513단계로 진행하여 상기 소정 스트링으로부터 획득한 평문 메시지 m'을 정당한 평문 메시지로 출력한다. 만일, 상기 계산된 해쉬값 h와 상기 소정 스트링으로부터 획득한 해쉬값 h'가 상이하면, 상기 수신자는 515단계로 진행하여 에러메세지를 출력한다.
상술한 바와 같이, 본 발명에 따른 복호화 과정은, 먼저 제1암호문 C1을 자신의 비밀키(sk)로 복호화하여 랜덤수 R을 획득하고, 이를 난수 생성기에 입력하여 세션키 K를 계산한다. 그리고, 제2암호문 C2를 세션키 K를 이용하여 복호하여 검증되지 않은 평문 메시지 m'과 해쉬값 h'를 획득하고, 이 두 값이 다음의 수식을 만족하는 경우 평문 m'를 정당한 평문으로 출력한다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정 해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같이, 본 발명은 안전성이 증명되지 않은 기존의 공개키 암호 시스템이 갖는 문제를 해결하고, 보다 안전하고 효율적인 공개키 암호 시스템을 설계할수 있는 방식을 제안하고 있다. 또한, 기존의 제안된 다른 방식들에 비해 적용할 수 있는 암호 시스템의 범위가 다양하고 안전성 증명 또한 현실적이라는 장점이 있다. 이와 같이, 안전성이 증명 가능한 공개키 암호 시스템의 개발은 안전한 전자 우편 시스템, 전자 상거래, 전자 투표, 전자 경개 등에 적용할 수 있을 것으로 기대된다.

Claims (12)

  1. 암호 시스템의 송신장치에 있어서,
    랜덤수 R과 r을 선택하고, 상기 선택된 랜덤수 R과 r을 수신자의 공개키(pk)로 암호화하여 제1암호문을 발생하는 제1암호문 생성부와,
    상기 랜덤수 R을 난수 생성기 G에 입력하여 세션키 K를 발생하는 세션키 생성부와,
    상기 랜덤수 R, 상기 제1암호문 및 전송할 평문 메시지 m를 해쉬함수 H에 입력하여 해쉬값 h를 발생하는 해쉬값 계산부와,
    상기 평문 메시지 m과 상기 해쉬값 h를 연결한 스트링을 상기 세션키 K에 해당하는 스트링을 이용해 구별 불가능성을 만족하는 대칭키 암호 방식으로 암호화하여 제2암호문을 발생하는 제2암호문 생성부와,
    상기 제1암호문 및 상기 제2암호문을 수신자에게 전송하는 전송부를 포함하는 것을 특징으로 하는 장치.
  2. 제1항에 있어서,
    상기 난수 생성기는 PN(Pseduo Noise)코드 생성기임을 특징으로 하는 장치.
  3. 세션키 생성에 사용되는 랜덤수를 공개키 방식으로 암호화한 제1암호문과 전송할 평문 메시지를 상기 세션키를 이용해 대칭키 방식으로 암호화한 제2암호문을 전송하는 송신장치를 포함하는 암호 시스템에서, 상기 제1암호문과 상기 제2암호문을 수신하여 복호하기 위한 수신장치에 있어서,
    상기 제1암호문을 상기 수신장치의 비밀키(sk)로 복호하여 랜덤수 R을 획득하는 제1암호문 복호부와,
    상기 획득한 랜덤수 R을 난수 생성기 G에 입력하여 세션키 K를 획득하는 세션키 계산부와,
    상기 제2암호문을 상기 힉득한 세션키 K로 복호하여 검증되지 않은 평문 메시지 m'과 해쉬값 h'를 획득하는 제2암호문 복호부와,
    상기 랜덤수 R, 상기 제1암호문 및 상기 평문메세지 m'를 해쉬함수 H에 입력하여 해쉬값 h를 계산하고, 상기 계산된 해쉬값 h와 상기 획득한 해쉬값 h'를 비교하며, 상기 두 해쉬값들이 동일할 경우 상기 획득한 평문 메시지 m'를 정당한 평문 메시지로 출력하는 판단부를 포함하는 것을 특징으로 하는 장치.
  4. 제3항에 있어서,
    상기 난수 생성기는 PN(Pseduo Noise)코드 생성기임을 특징으로 하는 장치.
  5. 안전성 검증이 가능한 암호시스템에 있어서,
    송신장치는,
    랜덤수 R과 r을 선택하고, 상기 선택된 랜덤수 R과 r을 수신자의 공개키(pk)로 암호화하여 제1암호문을 발생하는 제1암호문 생성부와,
    상기 랜덤수 R을 난수 생성기 G에 입력하여 세션키 K를 발생하는 세션키 생성부와,
    상기 랜덤수 R, 상기 제1암호문 및 평문 메시지 m을 해쉬함수 H에 입력하여 해쉬값 h를 발생하는 해쉬값 계산부와,
    상기 평문 메시지 m과 상기 해쉬값 h를 연결한 스트링을 상기 세션키 K에 해당하는 스트링을 이용해 구별 불가능성을 만족하는 대칭키 암호 방식으로 암호화하여 제2암호문을 발생하는 제2암호문 생성부와,
    상기 제1암호문 및 상기 제2암호문을 수신자에게 전송하는 전송부를 포함하고,
    수신장치는,
    상기 제1암호문을 상기 수신장치의 비밀키(sk)로 복호하여 랜덤수 R을 획득하는 제1암호문 복호부와,
    상기 획득한 랜덤수 R을 난수 생성기 G에 입력하여 세션키 K를 획득하는 세션키 계산부와,
    상기 제2암호문을 상기 힉득한 세션키 K로 복호하여 검증되지 않은 평문 메시지 m'과 해쉬값 h'를 획득하는 제2암호문 복호부와,
    상기 랜덤수 R, 상기 제1암호문 및 상기 평문메세지 m'를 해쉬함수 H에 입력하여 해쉬값 h를 계산하고, 상기 계산된 해쉬값 h와 상기 획득한 해쉬값 h'를 비교하며, 상기 두 해쉬값들이 동일할 경우 상기 획득한 평문 메시지 m'를 정당한 평문 메시지로 출력하는 판단부를 포함하는 것을 특징으로 하는 장치.
  6. 제5항에 있어서,
    상기 난수 생성기는 PN(Pseduo Noise)코드 생성기임을 특징으로 하는 장치.
  7. 암호 시스템의 송신방법에 있어서,
    랜덤하게 초기값 R과 r을 선택하는 과정과,
    상기 선택된 랜덤수 R과 r을 수신자의 공개키(pk)로 암호화하여 제1암호문을 발생하는 과정과,
    상기 랜덤수 R을 난수 생성기 G에 입력하여 세션키 K를 발생하는 과정과,
    상기 랜덤수 R, 상기 제1암호문 및 평문 메시지 m을 해쉬함수 H에 입력하여 해쉬값 h를 발생하는 과정과,
    상기 평문 메시지 m과 상기 해쉬값 h를 연결한 스트링을 상기 세션키 K에 해당하는 스트링을 이용해 구별 불가능성을 만족하는 대칭키 암호 방식으로 암호화하여 제2암호문을 발생하는 과정과,
    상기 제1암호문 및 상기 제2암호문을 수신자에게 전송하는 과정을 포함하는 것을 특징으로 하는 방법.
  8. 제7항에 있어서,
    상기 난수 생성기는 PN(Pseduo Noise)코드 생성기임을 특징으로 하는 방법.
  9. 송신장치가, 세션키 생성에 사용되는 랜덤수를 공개키 방식으로 암호화한 제1암호문과 전송할 평문 메시지를 상기 세션키를 이용해 대칭키 방식으로 암호화한 제2암호문을 전송하는 암호 시스템에서, 상기 제1암호문과 상기 제2암호문을 수신하여 복호하기 위한 수신방법에 있어서,
    상기 제1암호문을 상기 수신장치의 비밀키(sk)로 복호하여 랜덤수 R을 획득하는 과정과,
    상기 획득한 랜덤수 R을 난수 생성기 G에 입력하여 세션키 K를 획득하는 과정과,
    상기 제2암호문을 상기 힉득한 세션키 K로 복호하여 검증되지 않은 평문 메시지 m'과 해쉬값 h'을 획득하는 과정과,
    상기 랜덤수 R, 상기 제1암호문 및 상기 평문메세지 m'를 해쉬함수 H에 입력하여 해쉬값 h를 계산하는 과정과,
    상기 계산된 해쉬값 h와 상기 획득한 해쉬값 h'를 비교하는 과정과,
    상기 두 해쉬값들이 동일할 경우 상기 획득한 평문 메시지 m'를 정당한 평문 메시지로 출력하는 과정을 포함하는 것을 특징으로 하는 방법.
  10. 제9항에 있어서,
    상기 난수 생성기는 PN(Pseduo Noise)코드 생성기임을 특징으로 하는 방법.
  11. 안전성 검증이 가능한 암호시스템에서의 통신방법에 있어서,
    송신장치가, 랜덤수 R과 r을 선택하고, 상기 선택된 랜덤수 R과 r을 수신자의 공개키(pk)로 암호화하여 제1암호문 C1(=)을 발생하는 과정과,
    상기 랜덤수 R을 난수 생성기 G에 입력하여 세션키 K(=)를 발생하는 과정과,
    상기 랜덤수 R, 상기 제1암호문 및 평문 메시지 m를 해쉬함수 H에 입력하여 해쉬값 h(=)를 발생하는 과정과,
    상기 평문 메시지 m과 상기 해쉬값 h를 연결한 스트링을 상기 세션키 K에 해당하는 스트링을 이용해 구별 불가능성을 만족하는 대칭키 암호 방식으로 암호화하여 제2암호문 C2(=)을 발생하는 과정과,
    상기 제1암호문 및 상기 제2암호문을 수신자에게 전송하는 과정과,
    수신장치가, 상기 제1암호문 및 상기 제2암호문을 수신하는 과정과,
    상기 제1암호문을 상기 수신장치의 비밀키(sk)로 복호하여 랜덤수 R을 획득하는 과정과,
    상기 획득한 랜덤수 R을 상기 난수 생성기 G에 입력하여 세션키 K를 획득하는 과정과,
    상기 제2암호문을 상기 힉득한 세션키 K로 복호하여 검증되지 않은 평문 메시지 m'과 해쉬값 h'를 발생하는 과정과,
    상기 랜덤수 R, 상기 제1암호문 및 상기 평문메세지 m'를 해쉬함수 H에 입력하여 해쉬값 h(=)를 계산하는 과정과,
    상기 계산된 해쉬값 h와 상기 획득한 해쉬값 h'를 비교하는 과정과,
    상기 두 해쉬값들이 동일할 경우 상기 획득한 평문 메시지 m'를 정당한 평문 메시지로 출력하는 과정을 포함하는 것을 특징으로 하는 방법.
  12. 제11항에 있어서,
    상기 난수 생성기는 PN(Pseduo Noise)코드 생성기임을 특징으로 하는 방법.
KR1020020043817A 2002-07-25 2002-07-25 암호 시스템에서 송수신 장치 및 방법 KR20040009766A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020043817A KR20040009766A (ko) 2002-07-25 2002-07-25 암호 시스템에서 송수신 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020043817A KR20040009766A (ko) 2002-07-25 2002-07-25 암호 시스템에서 송수신 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20040009766A true KR20040009766A (ko) 2004-01-31

Family

ID=37318646

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020043817A KR20040009766A (ko) 2002-07-25 2002-07-25 암호 시스템에서 송수신 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20040009766A (ko)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100698834B1 (ko) * 2005-01-28 2007-03-26 펜타시큐리티시스템 주식회사 인덱스 컬럼 암호화 방법
KR100772521B1 (ko) * 2005-12-12 2007-11-01 한국전자통신연구원 Rfid 시스템에서의 태그 인증 장치 및 방법
US8122487B2 (en) 2005-04-29 2012-02-21 Samsung Electronics Co., Ltd. Method and apparatus for checking proximity between devices using hash chain
US8155311B2 (en) * 2007-04-17 2012-04-10 Samsung Electronics Co., Ltd. Method and apparatus for encrypting message for maintaining message integrity, and method and apparatus for decrypting message for maintaining message integrity
KR101155271B1 (ko) * 2005-09-29 2012-06-18 엘지전자 주식회사 신용카드 결제 시스템
KR101160812B1 (ko) * 2005-03-31 2012-06-28 재단법인서울대학교산학협력재단 브로드캐스트 암호화에서 전송량을 감소시킬 있는 키생성방법, 이를 이용한 암호화 및 복호화 방법
KR101388251B1 (ko) * 2012-11-30 2014-04-24 숭실대학교산학협력단 소셜 네트워크 서비스에서의 미인증 사용자의 인증 방법 및 장치
CN112333133A (zh) * 2020-07-08 2021-02-05 深圳Tcl新技术有限公司 数据安全传输方法、装置、设备及计算机可读存储介质
KR20210056839A (ko) * 2019-11-11 2021-05-20 주식회사 텔레칩스 데이터 암복호화 시스템 및 이를 이용한 p2p 데이터 송수신 방법
CN114070549A (zh) * 2020-07-31 2022-02-18 马上消费金融股份有限公司 一种密钥生成方法、装置、设备和存储介质
CN116208420A (zh) * 2023-03-08 2023-06-02 武汉维高凡科技有限公司 一种监测信息安全传输方法、系统、设备及存储介质
CN117201170A (zh) * 2023-10-07 2023-12-08 广州市城域信息科技有限公司 一种增强非对称加密算法安全性的方法
CN112333133B (zh) * 2020-07-08 2024-06-07 深圳Tcl新技术有限公司 数据安全传输方法、装置、设备及计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5757919A (en) * 1996-12-12 1998-05-26 Intel Corporation Cryptographically protected paging subsystem
KR0143598B1 (ko) * 1995-04-27 1998-08-01 정명식 하나의 비밀키를 이용한 다수의 신분인증 및 디지탈서명 생성과 확인방법
KR20010047385A (ko) * 1999-11-19 2001-06-15 오길록 인증기관 시스템의 사용자용 공개키 인증서 생성 방법
WO2001093497A1 (en) * 2000-06-01 2001-12-06 Tao Group Limited A method of validating an encrypted message
KR20030043562A (ko) * 2001-11-22 2003-06-02 가부시키가이샤 히타치세이사쿠쇼 공개 키 증명서의 생성 방법, 검증 방법, 및 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0143598B1 (ko) * 1995-04-27 1998-08-01 정명식 하나의 비밀키를 이용한 다수의 신분인증 및 디지탈서명 생성과 확인방법
US5757919A (en) * 1996-12-12 1998-05-26 Intel Corporation Cryptographically protected paging subsystem
KR20010047385A (ko) * 1999-11-19 2001-06-15 오길록 인증기관 시스템의 사용자용 공개키 인증서 생성 방법
WO2001093497A1 (en) * 2000-06-01 2001-12-06 Tao Group Limited A method of validating an encrypted message
KR20030043562A (ko) * 2001-11-22 2003-06-02 가부시키가이샤 히타치세이사쿠쇼 공개 키 증명서의 생성 방법, 검증 방법, 및 장치

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100698834B1 (ko) * 2005-01-28 2007-03-26 펜타시큐리티시스템 주식회사 인덱스 컬럼 암호화 방법
KR101160812B1 (ko) * 2005-03-31 2012-06-28 재단법인서울대학교산학협력재단 브로드캐스트 암호화에서 전송량을 감소시킬 있는 키생성방법, 이를 이용한 암호화 및 복호화 방법
US8122487B2 (en) 2005-04-29 2012-02-21 Samsung Electronics Co., Ltd. Method and apparatus for checking proximity between devices using hash chain
KR101155271B1 (ko) * 2005-09-29 2012-06-18 엘지전자 주식회사 신용카드 결제 시스템
KR100772521B1 (ko) * 2005-12-12 2007-11-01 한국전자통신연구원 Rfid 시스템에서의 태그 인증 장치 및 방법
US8155311B2 (en) * 2007-04-17 2012-04-10 Samsung Electronics Co., Ltd. Method and apparatus for encrypting message for maintaining message integrity, and method and apparatus for decrypting message for maintaining message integrity
KR101388251B1 (ko) * 2012-11-30 2014-04-24 숭실대학교산학협력단 소셜 네트워크 서비스에서의 미인증 사용자의 인증 방법 및 장치
KR20210056839A (ko) * 2019-11-11 2021-05-20 주식회사 텔레칩스 데이터 암복호화 시스템 및 이를 이용한 p2p 데이터 송수신 방법
CN112333133A (zh) * 2020-07-08 2021-02-05 深圳Tcl新技术有限公司 数据安全传输方法、装置、设备及计算机可读存储介质
CN112333133B (zh) * 2020-07-08 2024-06-07 深圳Tcl新技术有限公司 数据安全传输方法、装置、设备及计算机可读存储介质
CN114070549A (zh) * 2020-07-31 2022-02-18 马上消费金融股份有限公司 一种密钥生成方法、装置、设备和存储介质
CN116208420A (zh) * 2023-03-08 2023-06-02 武汉维高凡科技有限公司 一种监测信息安全传输方法、系统、设备及存储介质
CN116208420B (zh) * 2023-03-08 2024-03-12 武汉维高凡科技有限公司 一种监测信息安全传输方法、系统、设备及存储介质
CN117201170A (zh) * 2023-10-07 2023-12-08 广州市城域信息科技有限公司 一种增强非对称加密算法安全性的方法
CN117201170B (zh) * 2023-10-07 2024-02-09 广州市城域信息科技有限公司 一种增强非对称加密算法安全性的方法

Similar Documents

Publication Publication Date Title
US6298153B1 (en) Digital signature method and information communication system and apparatus using such method
US20060083370A1 (en) RSA with personalized secret
CN110113150A (zh) 基于无证书环境的可否认认证的加密方法和系统
KR101516114B1 (ko) 인증서 기반 프록시 재암호화 방법 및 이를 위한 시스템
CA2819211C (en) Data encryption
CN110784314A (zh) 无证书的加密信息处理方法
KR20040009766A (ko) 암호 시스템에서 송수신 장치 및 방법
KR100396740B1 (ko) 계산적 디피-헬만 가정에 기반하는 안전성 증명 가능한공개키 암호화 방법
CN111262709B (zh) 基于陷门哈希函数的无证书签密系统及方法
KR101793528B1 (ko) 무인증서 공개키 암호 시스템
JP4563037B2 (ja) 暗号化装置および復号化装置、並びにこれらを備えた暗号システム、暗号化方法および復号化方法
KR100388059B1 (ko) 비대칭키 암호 알고리즘을 이용한 데이터 암호화 시스템및 그 방법
KR100453113B1 (ko) 결정적 디피-헬만군에서id에 기반한 디지털 서명 및 그인증 방법
JP3694242B2 (ja) 署名付き暗号通信方法及びその装置
JP2006319485A (ja) 署名装置、署名暗号化装置、検証装置、復号装置、復元装置、情報提供装置、通信システム、署名方法、署名暗号化方法及び検証方法
Bohli et al. On subliminal channels in deterministic signature schemes
KR100323799B1 (ko) 안전성이 증명가능한 타원곡선 공개키 암호화 시스템
JPH07118709B2 (ja) 秘密情報通信方式
JP2002023626A (ja) 公開鍵暗号方法および公開鍵暗号を用いた通信システム
Almuhammadi et al. Double-hashing operation mode for encryption
JP3862397B2 (ja) 情報通信システム
JP2000004223A (ja) 暗号・認証システム
Kumar et al. A survey on various asymmetric algorithms
JP2000115157A (ja) 紛失通信方法
Agrawal et al. Analysis of different cryptography algorithms

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application