KR102315560B1 - 랜덤오라클 모델에서 공개키 암호로부터 동등성테스트가 가능한 공개키 암호로의 변환 기술 - Google Patents

랜덤오라클 모델에서 공개키 암호로부터 동등성테스트가 가능한 공개키 암호로의 변환 기술 Download PDF

Info

Publication number
KR102315560B1
KR102315560B1 KR1020190095967A KR20190095967A KR102315560B1 KR 102315560 B1 KR102315560 B1 KR 102315560B1 KR 1020190095967 A KR1020190095967 A KR 1020190095967A KR 20190095967 A KR20190095967 A KR 20190095967A KR 102315560 B1 KR102315560 B1 KR 102315560B1
Authority
KR
South Korea
Prior art keywords
public key
information
encryption scheme
message
key encryption
Prior art date
Application number
KR1020190095967A
Other languages
English (en)
Other versions
KR20210017153A (ko
Inventor
서재홍
이형태
Original Assignee
한양대학교 산학협력단
전북대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한양대학교 산학협력단, 전북대학교산학협력단 filed Critical 한양대학교 산학협력단
Priority to KR1020190095967A priority Critical patent/KR102315560B1/ko
Publication of KR20210017153A publication Critical patent/KR20210017153A/ko
Application granted granted Critical
Publication of KR102315560B1 publication Critical patent/KR102315560B1/ko

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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/26Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm

Landscapes

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

Abstract

랜덤오라클 모델에서 공개키 암호로부터 동등성테스트가 가능한 공개키 암호로의 변환 기술이 개시된다. 동등성테스트가 가능한 공개키 암호는 기존의 공개키 암호와 비교하여 추가기능을 갖고 있다. 이 기능을 이용하면 주어진 두 암호문에 대하여 이들이 같은 데이터의 암호화 결과인지를 알 수 있으며 이를 동등성테스트(Equality Test)가 가능하다라고 한다. 실시예에 따른 기술을 이용하면 랜덤오라클 모델에서 안전한 공개키 암호로부터 동등성테스트가 가능한 공개키 암호로의 변환이 가능하다. 공개키 암호 시스템에 의해 수행되는 공개키 암호 방법은, 공개키 암호에 대하여 동등성 테스트가 가능한 공개키 암호로 변환하는 단계를 포함할 수 있다.

Description

랜덤오라클 모델에서 공개키 암호로부터 동등성테스트가 가능한 공개키 암호로의 변환 기술{A GENERIC TRANSFORMATION TECHNIQUE FROM PUBLIC KEY ENCRYPTION TO PUBLIC KEY ENCRYPTION WITH EQUALITY TEST IN THE RANDOM ORACLE MODEL}
아래의 설명은 공개키 암호로부터 동등성 테스트가 가능한 공개키 암호로 변환하는 방법 및 시스템에 관한 것이다. 이 특허는 2018년도 과학기술정보통신부의 재원으로 한국연구재단의 지원을 받아 수행된 결과임 (No. NRF-2018R1C1B6008476).
일반적인 공개키 암호를 이용하면, 암호화된 데이터가 같은 데이터의 암호화인지를 확인하기 위해 암호문 전체를 복호화하여 암호화에 사용된 데이터를 직접 비교하여야 한다. 또한, 기존의 동등성테스트가 가능한 공개키 암호 알고리즘은 수학적 난제인 Computational Diffie-Hellman(CDH) 문제의 어려운 정도에 안전성을 의존하는 독립적인 암호화 알고리즘으로써 단지 기능적으로만 동일하다.
일반적인 공개키 암호를 사용하여 동등성 테스트를 할 경우 암호문을 복호화를 해야 하기 때문에 데이터의 모든 정보를 드러내야 하며 이에 따른 사생활정보에 대한 노출이 문제가 될 수 있다. 따라서 단지 데이터를 저장해주는 서비스 외에 추가적인 서비스를 제공하기 위해서는 추가기능을 갖는 공개키 암호가 필요하다. 또한, 기존의 동등성테스트가 가능한 공개키 암호의 경우 안전성을 수학적 난제를 기반으로 하기 때문에 양자 이후의 암호로써는 사용되기 어렵다.
랜덤오라클 모델에서 공개키 암호로부터 동등성 테스트가 가능한 공개키 암호로의 변환 방법 및 시스템을 제공할 수 있다.
공개키 암호 시스템에 의해 수행되는 공개키 암호 방법은, 공개키 암호에 대하여 동등성 테스트가 가능한 공개키 암호로 변환하는 단계를 포함할 수 있다.
상기 공개키 암호는, 제1 공개키 암호 또는 제2 공개키 암호를 포함하고, 제1 공개키 암호는 종래의 공개키 암호이고, 제2 공개키 암호는 상기 종래의 공개키 암호를 이용하여 메시지의 해시값을 암호화하는 공개키 암호일 수 있다.
상기 공개키 암호로 변환하는 단계는, 보안 매개 변수를 입력함에 따라 시스템의 파라미터로 공개키 암호 스킴(scheme)과 복수 개의 해시 함수를 출력하는 셋업 단계를 포함할 수 있다.
상기 공개키 암호로 변환하는 단계는, 상기 시스템의 파라미터를 입력함에 따라 복수 개의 공개키 및 비밀키를 포함하는 쌍을 생성하고, 상기 생성된 복수 개의 쌍에 포함된 공개키 및 비밀키 각각을 공개키 쌍, 비밀키 쌍으로 하여 동등성 테스트(PKEET)의 공개키, 비밀키를 설정하는 키 생성 단계를 포함할 수 있다.
상기 공개키 암호로 변환하는 단계는, 메시지(M)와 동등성 테스트를 위한 공개키를 암호화하여 복수 개의 성분을 갖는 암호문을 암호화하는 암호화 단계를 포함하고, 제1 정보를 갖는 암호문은, 메시지 정보를 포함하고, 제2 정보를 갖는 암호문은, 상기 메시지의 해시값에 대한 정보를 포함하고, 제3 정보를 갖는 암호문은, 상기 제1 정보 및 제2 정보에 기초하여 생성된 해시값을 포함할 수 있다.
상기 공개키 암호로 변환하는 단계는, 상기 복수 개의 정보를 갖는 암호문의 각각에 대하여 비밀키를 이용하여 각각 복호화함에 따라 상기 제1 정보를 갖는 암호문에 포함된 메시지와 상기 제2 정보를 갖는 암호문에 포함된 메시지의 해시값에 대한 정보 및 각각의 랜덤값을 추출하고, 상기 제1 정보를 갖는 암호문에 포함된 메시지의 해시값과 상기 제2 정보를 갖는 암호문에 포함된 메시지의 해시값과 일치하는지 확인하고, 상기 추출된 각각의 랜덤값을 이용하여 상기 제3 정보를 갖는 암호문에 포함된 상기 제1 정보 및 제2 정보와 일치하는지 여부를 통해 메시지를 검증하는 복호화 단계를 포함할 수 있다.
상기 공개키 암호로 변환하는 단계는, 동등성 테스트를 수행하기 위한 트랩도어 생성 단계를 포함하고, 비밀키에서 상기 제2 정보를 동등성 테스트를 위한 트랩도어(trapdoor) 값으로 출력할 수 있다.
상기 공개키 암호로 변환하는 단계는, 복수 개의 새로운 암호문을 획득하고, 상기 획득된 복수 개의 새로운 암호문의 각각의 제2 성분과 상기 트랩도어를 이용하여 복호한 후, 메시지의 해시값을 비교하여 메시지의 동일성 여부를 판단하는 동등성 테스트 단계를 포함할 수 있다.
공개키 암호 시스템은, 공개키 암호에 대하여 동등성 테스트가 가능한 공개키 암호로 변환하는 변환부를 포함할 수 있다.
상기 공개키 암호는, 제1 공개키 암호 또는 제2 공개키 암호를 포함하고, 제1 공개키 암호는 종래의 공개키 암호이고, 제2 공개키 암호는 상기 종래의 공개키 암호를 이용하여 메시지의 해시값을 암호화하는 공개키 암호일 수 있다.
상기 변환부는, 보안 매개 변수를 입력함에 따라 시스템의 파라미터로 공개키 암호 스킴(scheme)과 복수 개의 해시 함수를 출력하는 셋업 과정; 및 상기 시스템의 파라미터를 입력함에 따라 복수 개의 공개키 및 비밀키를 포함하는 쌍을 생성하고, 상기 생성된 복수 개의 쌍에 포함된 공개키 및 비밀키 각각을 공개키 쌍, 비밀키 쌍으로 하여 동등성 테스트(PKEET)의 공개키, 비밀키를 설정하는 키 생성 과정을 포함할 수 있다.
상기 변환부는, 메시지(M)와 동등성 테스트(PKEET)를 위한 공개키를 암호화하여 복수 개의 성분을 갖는 암호문을 암호화하는 암호화 과정을 포함하고, 제1 정보를 갖는 암호문은, 메시지 정보를 포함하고, 제2 정보를 갖는 암호문은, 상기 메시지의 해시값에 대한 정보를 포함하고, 제3 정보를 갖는 암호문은, 상기 제1 정보 및 제2 정보에 기초하여 생성된 해시값을 포함할 수 있다.
상기 변환부는, 상기 복수 개의 정보를 갖는 암호문의 각각에 대하여 비밀키를 이용하여 각각 복호화함에 따라 상기 제1 정보를 갖는 암호문에 포함된 메시지와 상기 제2 정보를 갖는 암호문에 포함된 메시지의 해시값에 대한 정보 및 각각의 랜덤값을 추출하고, 상기 제1 정보를 갖는 암호문에 포함된 메시지의 해시값과 상기 제2 정보를 갖는 암호문에 포함된 메시지의 해시값과 일치하는지 확인하고, 상기 추출된 각각의 랜덤값을 이용하여 상기 제3 정보를 갖는 암호문에 포함된 상기 제1 정보 및 제2 정보와 일치하는지 여부를 통해 메시지를 검증하는 복호화 과정을 포함할 수 있다.
상기 변환부는, 동등성 테스트를 수행하기 위한 트랩도어를 생성하는 트랩도어 생성 과정을 포함하고, 비밀키에서 상기 제2 정보를 동등성 테스트를 위한 트랩도어(trapdoor) 값으로 출력할 수 있다.
상기 변환부는, 복수 개의 새로운 암호문을 획득하고, 상기 획득된 복수 개의 새로운 암호문의 각각의 제2 성분과 상기 트랩도어를 이용하여 복호한 후, 메시지의 해시값을 비교하여 메시지의 동일성 여부를 판단하는 동등성 테스트 과정을 포함할 수 있다.
기존의 암호들과 같이 수학적 난제를 기반으로 하여 설계한 암호는 양자세대가 오면 안전성을 보장하기 어렵다. 다시 말해서, 수학적 난제에 기반한 동등성테스트가 가능한 암호화 기법은 추후 양자기술에 기반하여 새로운 설계가 시도되어야 할 것이다. 실시예에 따른 기술을 통하면 양자기술에 안전한 암호를 이용하여 비슷한 안전성을 갖는 동등성 테스트가 가능한 암호로의 변환이 언제든 가능하다.
도 1은 일 실시예에 따른 공개키 암호 시스템의 구성을 설명하기 위한 블록도이다.
도 2는 일 실시예에 따른 공개키 암호 시스템에서 공개키 암호 방법을 설명하기 위한 흐름도이다.
도 3은 일 실시예에 따른 공개키 암호 시스템에서 공개키 암호에 대하여 동등성 테스트가 가능한 공개키 암호로 변환하는 구체적인 방법을 설명하기 위한 도면이다.
도 4은 일 실시예에 따른 공개키 암호 시스템의 셋업 동작을 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 공개키 암호 시스템의 키 생성 동작을 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 공개키 암호 시스템의 암호화 동작을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 공개키 암호 시스템에서 복호화 동작을 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 공개키 암호 시스템에서 동등성 테스트를 위한 추가 가능을 생성하는 동작을 설명하기 위한 도면이다.
도 9는 일 실시예에 따른 공개키 암호 시스템에서 동등성 테스트를 수행하는 동작을 설명하기 위한 도면이다.
이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
도 1은 일 실시예에 따른 공개키 암호 시스템의 구성을 설명하기 위한 블록도이고, 도 2는 일 실시예에 따른 공개키 암호 시스템에서 공개키 암호 방법을 설명하기 위한 흐름도이다.
공개키 암호 시스템(100)의 프로세서는 변환부(110)를 포함할 수 있다. 이러한 공개키 암호 시스템(100)의 프로세의 구성요소들은 공개키 암호 시스템에 저장된 프로그램 코드가 제공하는 제어 명령에 따라 프로세서에 의해 수행되는 서로 다른 기능들(different functions)의 표현들일 수 있다. 프로세서 및 프로세서의 구성요소들은 도 2의 공개키 암호 방법이 포함하는 단계들(210)을 수행하도록 공개키 암호 시스템을 제어할 수 있다.
이때, 프로세서 및 프로세서의 구성요소들은 메모리가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다. 프로세서는 공개키 암호 방법을 위한 프로그램의 파일에 저장된 프로그램 코드를 메모리에 로딩할 수 있다. 예를 들면, 공개키 암호 시스템에서 프로그램이 실행되면, 프로세서는 운영체제의 제어에 따라 프로그램의 파일로부터 프로그램 코드를 메모리에 로딩하도록 공개키 암호 시스템을 제어할 수 있다. 이때, 프로세서 및 프로세서가 포함하는 변환부(110)는 메모리에 로딩된 프로그램 코드 중 대응하는 부분의 명령을 실행하여 이후 단계들(210)을 실행하기 위한 프로세서의 서로 다른 기능적 표현들일 수 있다.
단계(210)에서 변환부(110)는 공개키 암호에 대하여 동등성 테스트가 가능한 공개키 암호로 변환할 수 있다. 이때, 공개키 암호는 제1 공개키 암호 또는 제2 공개키 암호를 포함할 수 있고, 제1 공개키 암호는 종래의 공개키 암호이고, 제2 공개키 암호는 상기 종래의 공개키 암호를 이용하여 메시지의 해시값을 암호화하는 공개키 암호일 수 있다. 이때, 암호화하는 메시지가 제1 공개키 암호는 원래의 메시지이고, 제2 공개키 암호는 메시지의 해시값인 것이다. 이에, 제1 공개키 암호와 제2 공개키 암호는 동일한 암호 시스템을 사용하여도 무방하다.
도 3에서 공개키 암호에 대하여 동등성 테스트가 가능한 공개키 암호로 변환하는 구체적인 방법을 설명하기로 한다. 단계(310)에서 변환부(110)는 보안 매개 변수를 입력함에 따라 시스템의 출력 파라미터로 공개키 암호 스킴(scheme)과 복수 개의 해시 함수를 출력하는 셋업 단계를 수행할 수 있다. 이때, 변환부(110)는 보안 매개 변수로 안정성 레벨을 입력할 수 있다.
단계(320)에서 변환부(110)는 시스템의 파라미터를 입력함에 따라 복수 개의 공개키 및 비밀키를 포함하는 쌍을 생성하고, 생성된 복수 개의 쌍에 포함된 공개키 및 비밀키 각각을 공개키 쌍, 비밀키 쌍으로 하여 동등성 테스트(PKEET)의 공개키, 비밀키를 설정하는 키 생성 단계를 포함할 수 있다.
단계(330)에서 변환부(110)는 메시지(M)와 동등성 테스트(PKEET)를 위한 공개키를 암호화하여 복수 개의 성분을 갖는 암호문을 암호화하는 단계를 수행할 수 있다. 이때, 제1 정보를 갖는 암호문은, 메시지 정보를 포함하고, 제2 정보를 갖는 암호문은, 메시지의 해시값에 대한 정보를 포함하고, 제3 정보를 갖는 암호문은, 제1 정보 및 제2 정보에 기초하여 생성된 해시값을 포함할 수 있다.
단계(340)에서 변환부(110)는 복수 개의 성분을 갖는 암호문에 대하여 비밀키를 이용하여 각각 복호화할 수 있다. 변환부(110)는 복수 개의 성분을 갖는 암호문의 각각에 대하여 비밀키를 이용하여 각각 복호화함에 따라 제1 정보를 갖는 암호문에 포함된 메시지와 제2 정보를 갖는 암호문에 포함된 메시지의 해시값에 대한 정보 및 각각의 랜덤값을 추출하고, 제1 정보를 갖는 암호문에 포함된 메시지의 해시값과 제2 정보를 갖는 암호문에 포함된 메시지의 해시값과 일치하는지 확인하고, 추출된 각각의 랜덤값을 이용하여 제3 정보를 갖는 암호문에 포함된 제1 정보 및 제2 정보와 일치하는지 여부를 통해 메시지를 검증할 수 있다.
단계(350)에서 변환부(110)는 동등성 테스트를 수행하는 단계를 수행할 수 있다. 변환부(110)는 비밀키에서 제2 정보를 동등성 테스트를 위한 트랩도어(trapdoor) 값으로 출력할 수 있다.
단계(360)에서 변환부(110)는 복수 개의 새로운 암호문을 획득하고, 획득된 복수 개의 새로운 암호문의 각각의 제2 성분과 트랩도어를 이용하여 복호한 후, 메시지의 해시값을 비교하여 메시지의 동일성 여부를 판단하는 동일성 테스트 단계를 수행할 수 있다.
일례로, 공개키 암호 시스템은 사용자(예를 들면, 송신자(senders) 및 수신자 (receivers))와 테스터(tester)로 구성될 수 있다. 공개키 암호 시스템에서 송신자는 수신자의 공개키를 이용하여 암호화하고, 수신자에게 암호문을 전달할 수 있다. 수신자는 수신자의 비밀키 및 저장 암호문을 사용하여 암호문을 복호화할 수 있다. 필요에 따라, 수신자는 수신자의 암호화된 데이터를 저장하는 서버에 액세스할 수 있는 테스터에게 추가 기능, 예를 들면, 트랩 도어(Trapdoor)를 발급할 수 있다. 그러고 나서, 테스터는 모든 암호문에 대한 테스트 권한을 위임한 수신자의 공개키 하에서 암호문에 대한 동등성 테스트를 수행할 수 있다.
공개키 암호 시스템은 다중 사용자 설정이므로, 각 사용자에게
Figure 112019080804150-pat00001
에 대한 색인 i가 할당된다고 가정할 수 있다. 여기서, N은 시스템의 사용자 수를 의미한다. Ui는 색인이 i인 사용자를 나타낸다. 각 사용자에 대한 키, 암호문 및 각 사용자에 대한 트랩 도어를 나타내기 위하여 첨자 인덱스를 사용한다. 예를 들면, pki와 CTi는 각 사용자 Ui의 공개키 및 암호문이다.
공개키 암호 시스템은 셋업 단계, 키 생성 단계, 암호화 단계, 복호화 단계, 트랩 도어 생성 단계 및 동등성 테스트 단계를 수행할 수 있다. 동등성 테스트가 가능한 공개키 암호는 기존의 공개키 암호와 비교하여 추가 기능을 가지고 있다. 이러한 추가 기능을 이용하면 주어진 두 개의 암호문에 대하여 동일한 데이터의 암호화 결과인지 판단할 수 있으며, 이를 동등성 테스트가 가능하다고 한다. 이러한 기술을 이용하여 랜덤오라클 모델에서 안전한 공개키 암호로부터 동등성 테스트가 가능한 공개키 암호로의 변환이 가능하다.
도 4를 참고하면, 공개키 암호 시스템의 셋업 동작을 설명하기 위한 도면이다.
공개키 암호 시스템은 보안 매개 변수
Figure 112019080804150-pat00002
를 입력할 수 있다. 보안 매개 변수로 안정성 레벨을 입력할 수 있다. 공개키 암호 시스템은 보안 매개 변수
Figure 112019080804150-pat00003
를 입력으로 사용함에 따라 시스템의 파라미터로써 공개키 암호 스킴(Scheme)과 두 해시 함수를 출력할 수 있다. 이때, 공개키(pk)는 평문 공간(plaintext space) P 와 랜덤 공간(randomness space) R의 정보를 포함할 수 있다.
도 5를 참고하면, 공개키 암호 시스템의 키 생성 동작을 설명하기 위한 도면이다.
공개키 암호 시스템은 시스템 파라미터를 이용하여 공개키(pk)와 비밀키(sk)를 반환할 수 있다. 공개키 암호 시스템은 키 생성 알고리즘에 기반하여 두 쌍의 (공개키, 비밀키)를 생성할 수 있다. 이와 같이 생성된 공개키, 비밀키에 대한 출력값으로 공개키 쌍(예를 들면, (pk1, pk2)), 비밀키 쌍(예를 들면, sk1, sk2)이 출력될 수 있다. 공개키 암호 시스템은 생성된 공개키, 비밀키를 포함하는 각각의 쌍을 출력한 출력값인 공개키 쌍, 비밀키 쌍을 통하여 동등성 테스트(PKEET)의 공개키, 비밀키를 설정할 수 있다.
도 6을 참고하면, 공개키 암호 시스템의 암호화 동작을 설명하기 위한 도면이다.
공개키 암호 시스템은 공개키(pk)와 메시지(M)를 입력으로 받아 공개키(pk)를 (pk1, pk2)로 파싱할 수 있다. 공개키 암호 시스템은 공개키(pk)와 메시지(M)를 이용하여 암호문(CT)를 반환할 수 있다. 이때, 복수 개(예를 들면, 2개)의 랜덤값을 선택할 수 있다. 공개키와 메시지를 이용하여 암호문을 생성함에 있어서, 랜덤값이 포함될 수 있다. 이때, 공개키 암호 시스템은 공개키와 메시지를 이용하여 3개의 성분을 갖는 형태로 암호문을 생성할 수 있다. 첫 번째 성분은 메시지 정보를 포함할 수 있고, 두 번째 성분은 메시지의 해시값에 대한 정보를 포함할 수 있고, 세 번째 성분은 메시지 정보와 메시지의 해시값에 기반하여 생성된 해시값을 포함할 수 있다. 이에 따라, 3개의 암호문(C1, C2, C3)이 출력될 수 있다.
도 7을 참고하면, 공개키 암호 시스템의 복호화 동작을 설명하기 위한 도면이다.
공개키 암호 시스템은 비밀키(sk)와 암호문(CT)를 입력함에 따라 비밀키(sk)와 암호문(CT)를 (sk1, sk2), (C1, C2, C3)에 각각 파싱할 수 있다. 공개키 암호 시스템은 비밀키 sk1과 sk2를 사용하여 C1과 C2에서 메시지와 랜덤값을 추출할 수 있다. 다시 말해서, 암호문(CT)에 포함된 sk1과 sk2 비밀키를 이용하여 각각의 복호화함에 따라 C1에 포함된 메시지와 C2에 포함된 해시값 그리고 각각에 사용된 랜덤값을 추출할 수 있다. 첫 번째 성분에서 획득한 메시지의 해시값이 두 번째 성분에서 획득한 해시값과 일치하는지 확인하고, 두 개의 랜덤값을 사용하여 세 번째 성분과 일치하는지 여부를 통해 메시지를 검증할 수 있다.
도 8을 참고하면, 공개키 암호 시스템에서 동등성 테스트를 위한 추가 가능을 생성하는 동작을 설명하기 위한 도면이다.
공개키 암호 시스템은 동등성 테스트를 위한 추가 기능(예를 들면, 추가키)을 생성할 수 있다. 비밀키에서 두 번째 성분을 트랩 도어(Trapdoor) 값으로써 출력할 수 있다. 사용자 Ui의 비밀키 ski를 입력함에 따라 ski,1, ski,2로 파싱하여 출력값으로 ski,2를 출력할 수 있다.
도 9를 참고하면, 공개키 암호 시스템에서 동등성 테스트를 수행하는 동작을 설명하기 위한 도면이다.
공개키 암호 시스템은 복수의 사용자(예를 들면, 두 명의 사용자) 각각으로부터 획득된 암호문과 트랩 도어를 이용할 수 있다. 공개키 암호 시스템은 사용자 Ui, Uj 각각에 대한 트랩 도어 tdi, tdj 및 암호문 CTi, CTj을 취할 수 있다. 공개키 암호 시스템은 각각의 암호문의 두 번째 성분을 트랩 도어를 이용하여 복호화한 후, 메시지의 해시값을 비교하여 메시지의 동일성 여부를 판단할 수 있다. 두 번째 성분을 갖는 암호문에 대하여 비밀키를 제공하더라도 해시값만 복호화될 뿐, 메시지를 복호할 수 없다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (15)

  1. 공개키 암호 시스템에 의해 수행되는 공개키 암호 방법에 있어서,
    공개키 및 비밀키를 포함하는 쌍을 이용하는 공개키 암호 스킴에 대하여 동등성 테스트가 가능한 공개키 암호 스킴으로 변환하는 단계
    를 포함하고,
    상기 공개키 암호 스킴으로 변환하는 단계는,
    복수 개의 쌍에 포함된 공개키 및 비밀키 각각을 공개키 쌍, 비밀키 쌍으로 하여 동등성 테스트(PKEET)의 공개키, 비밀키를 설정하는 키 생성 단계;
    메시지(M)와 동등성 테스트를 위한 공개키를 암호화하여 복수 개의 성분을 갖는 암호문을 암호화하는 암호화 단계; 및
    상기 복수 개의 성분을 갖는 암호문의 각각에 대하여 비밀키를 이용하여 각각 복호화함에 따라 제1 정보를 갖는 암호문에 포함된 메시지와 제2 정보를 갖는 암호문에 포함된 메시지의 해시값에 대한 정보 및 각각의 랜덤값을 추출하고, 상기 제1 정보를 갖는 암호문에 포함된 메시지의 해시값과 상기 제2 정보를 갖는 암호문에 포함된 메시지의 해시값과 일치하는지 확인하고, 상기 추출된 각각의 랜덤값을 이용하여 제3 정보를 갖는 암호문에 포함된 상기 제1 정보 및 제2 정보와 일치하는지 여부를 통해 메시지를 검증하는 복호화 단계
    를 포함하고,
    제1 정보를 갖는 암호문은, 메시지 정보를 포함하고,
    제2 정보를 갖는 암호문은, 상기 메시지의 해시값에 대한 정보를 포함하고,
    제3 정보를 갖는 암호문은, 상기 제1 정보 및 제2 정보에 기초하여 생성된 해시값을 포함하는
    공개키 암호 방법.
  2. 제1항에 있어서,
    상기 공개키 암호 스킴은, 제1 공개키 암호 스킴 또는 제2 공개키 암호 스킴을 포함하고,
    제1 공개키 암호 스킴은 종래의 공개키 암호 스킴이고,
    제2 공개키 암호 스킴은 상기 종래의 공개키 암호 스킴을 이용하여 메시지의 해시값을 암호화하는 공개키 암호 스킴인, 공개키 암호 방법.
  3. 제1항에 있어서,
    상기 공개키 암호 스킴으로 변환하는 단계는,
    보안 매개 변수를 입력함에 따라 시스템의 파라미터로 공개키 암호 스킴(scheme)과 복수 개의 해시 함수를 출력하는 셋업 단계
    를 포함하는 공개키 암호 방법.
  4. 제3항에 있어서,
    상기 공개키 암호 스킴으로 변환하는 단계는,
    상기 시스템의 파라미터를 입력함에 따라 복수 개의 공개키 및 비밀키를 포함하는 쌍을 생성하는 키 생성 단계
    를 포함하는 공개키 암호 방법.
  5. 삭제
  6. 삭제
  7. 제1항에 있어서,
    상기 공개키 암호 스킴으로 변환하는 단계는,
    동등성 테스트를 수행하기 위한 트랩도어 생성 단계
    를 포함하고,
    비밀키에서 상기 제2 정보를 동등성 테스트를 위한 트랩도어(trapdoor) 값으로 출력하는
    공개키 암호 방법.
  8. 제7항에 있어서,
    상기 공개키 암호 스킴으로 변환하는 단계는,
    복수 개의 새로운 암호문을 획득하고, 상기 획득된 복수 개의 새로운 암호문의 각각의 제2 정보와 상기 트랩도어를 이용하여 복호한 후, 메시지의 해시값을 비교하여 메시지의 동일성 여부를 판단하는 동등성 테스트 단계
    를 포함하는 공개키 암호 방법.
  9. 공개키 암호 시스템에 있어서,
    공개키 및 비밀키를 포함하는 쌍을 이용하는 공개키 암호 스킴에 대하여 동등성 테스트가 가능한 공개키 암호 스킴으로 변환하는 변환부
    를 포함하고,
    상기 변환부는,
    복수 개의 쌍에 포함된 공개키 및 비밀키 각각을 공개키 쌍, 비밀키 쌍으로 하여 동등성 테스트(PKEET)의 공개키, 비밀키를 설정하는 키 생성 과정;
    메시지(M)와 동등성 테스트를 위한 공개키를 암호화하여 복수 개의 성분을 갖는 암호문을 암호화하는 암호화 과정; 및
    상기 복수 개의 성분을 갖는 암호문의 각각에 대하여 비밀키를 이용하여 각각 복호화함에 따라 제1 정보를 갖는 암호문에 포함된 메시지와 제2 정보를 갖는 암호문에 포함된 메시지의 해시값에 대한 정보 및 각각의 랜덤값을 추출하고, 상기 제1 정보를 갖는 암호문에 포함된 메시지의 해시값과 상기 제2 정보를 갖는 암호문에 포함된 메시지의 해시값과 일치하는지 확인하고, 상기 추출된 각각의 랜덤값을 이용하여 제3 정보를 갖는 암호문에 포함된 상기 제1 정보 및 제2 정보와 일치하는지 여부를 통해 메시지를 검증하는 복호화 과정을 포함하고,
    제1 정보를 갖는 암호문은, 메시지 정보를 포함하고,
    제2 정보를 갖는 암호문은, 상기 메시지의 해시값에 대한 정보를 포함하고,
    제3 정보를 갖는 암호문은, 상기 제1 정보 및 제2 정보에 기초하여 생성된 해시값을 포함하는
    공개키 암호 시스템.
  10. 제9항에 있어서,
    상기 공개키 암호 스킴은, 제1 공개키 암호 스킴 또는 제2 공개키 암호 스킴을 포함하고,
    제1 공개키 암호 스킴은 종래의 공개키 암호 스킴이고,
    제2 공개키 암호 스킴은 상기 종래의 공개키 암호 스킴을 이용하여 메시지의 해시값을 암호화하는 공개키 암호 스킴인, 공개키 암호 시스템.
  11. 제9항에 있어서,
    상기 변환부는,
    보안 매개 변수를 입력함에 따라 시스템의 파라미터로 공개키 암호 스킴(scheme)과 복수 개의 해시 함수를 출력하는 셋업 과정; 및
    상기 시스템의 파라미터를 입력함에 따라 복수 개의 공개키 및 비밀키를 포함하는 쌍을 생성하는 키 생성 과정
    을 포함하는 공개키 암호 시스템.
  12. 삭제
  13. 삭제
  14. 제9항에 있어서,
    상기 변환부는,
    동등성 테스트를 수행하기 위한 트랩도어를 생성하는 트랩도어 생성 과정을 포함하고,
    비밀키에서 상기 제2 정보를 동등성 테스트를 위한 트랩도어(trapdoor) 값으로 출력하는
    공개키 암호 시스템.
  15. 제14항에 있어서,
    상기 변환부는,
    복수 개의 새로운 암호문을 획득하고, 상기 획득된 복수 개의 새로운 암호문의 각각의 제2 정보와 상기 트랩도어를 이용하여 복호한 후, 메시지의 해시값을 비교하여 메시지의 동일성 여부를 판단하는 동등성 테스트 과정
    을 포함하는 공개키 암호 시스템.
KR1020190095967A 2019-08-07 2019-08-07 랜덤오라클 모델에서 공개키 암호로부터 동등성테스트가 가능한 공개키 암호로의 변환 기술 KR102315560B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190095967A KR102315560B1 (ko) 2019-08-07 2019-08-07 랜덤오라클 모델에서 공개키 암호로부터 동등성테스트가 가능한 공개키 암호로의 변환 기술

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190095967A KR102315560B1 (ko) 2019-08-07 2019-08-07 랜덤오라클 모델에서 공개키 암호로부터 동등성테스트가 가능한 공개키 암호로의 변환 기술

Publications (2)

Publication Number Publication Date
KR20210017153A KR20210017153A (ko) 2021-02-17
KR102315560B1 true KR102315560B1 (ko) 2021-10-21

Family

ID=74731284

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190095967A KR102315560B1 (ko) 2019-08-07 2019-08-07 랜덤오라클 모델에서 공개키 암호로부터 동등성테스트가 가능한 공개키 암호로의 변환 기술

Country Status (1)

Country Link
KR (1) KR102315560B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113992397B (zh) * 2021-10-26 2022-10-21 电子科技大学 一种高效的支持差异化等式测试的公钥加密方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Lee, Hyung Tae, et al. "Public key encryption with equality test in the standard model." Cryptology ePrint Archive, 2016/1182(2016.12.) 1부.*
Ma Sha, et. al. "Efficient public key encryption with equality test supporting flexible authorization." IEEE Transactions on Information Forensics and Security 10(3), pp.458-470(2014.) 1부.*

Also Published As

Publication number Publication date
KR20210017153A (ko) 2021-02-17

Similar Documents

Publication Publication Date Title
Turan et al. Recommendation for password-based key derivation
EP3091690B1 (en) Rsa decryption using multiplicative secret sharing
Barker Guideline for using cryptographic standards in the federal government: Cryptographic mechanisms
US9596086B2 (en) Password-based authentication
US9311487B2 (en) Tampering monitoring system, management device, protection control module, and detection module
Mann et al. Two-factor authentication for the Bitcoin protocol
US20140195804A1 (en) Techniques for secure data exchange
US9020149B1 (en) Protected storage for cryptographic materials
JP2016515235A5 (ko)
US9374222B2 (en) Secure communication of data between devices
US11050745B2 (en) Information processing apparatus, authentication method, and recording medium for recording computer program
US9906363B2 (en) Encrypted data verification system, method and recording medium
US20150043735A1 (en) Re-encrypted data verification program, re-encryption apparatus and re-encryption system
US10778420B2 (en) Quantum direct communication method with user authentication and apparatus using the same
KR20080025121A (ko) 비대칭 개인키로부터 비밀키 생성
CN107528689B (zh) 一种基于Ukey的密码修改方法
KR102143525B1 (ko) 교집합 연산을 지원하는 함수 암호를 위한 방법 및 이를 이용한 장치
GB2529633A (en) Password-based generation and management of secret cryptographic keys
Lee et al. Security analysis and modification of ID-based encryption with equality test from ACISP 2017
CN112118245A (zh) 密钥管理方法、系统和设备
Turan et al. Sp 800-132. recommendation for password-based key derivation: Part 1: Storage applications
US20140237239A1 (en) Techniques for validating cryptographic applications
CN112385175B (zh) 一种用于数据加密和完整性的设备
Kang et al. Improved user authentication scheme with user anonymity for wireless communications
KR102315560B1 (ko) 랜덤오라클 모델에서 공개키 암호로부터 동등성테스트가 가능한 공개키 암호로의 변환 기술

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right