KR101740958B1 - 암호 시스템 및 방법 - Google Patents

암호 시스템 및 방법 Download PDF

Info

Publication number
KR101740958B1
KR101740958B1 KR1020150155981A KR20150155981A KR101740958B1 KR 101740958 B1 KR101740958 B1 KR 101740958B1 KR 1020150155981 A KR1020150155981 A KR 1020150155981A KR 20150155981 A KR20150155981 A KR 20150155981A KR 101740958 B1 KR101740958 B1 KR 101740958B1
Authority
KR
South Korea
Prior art keywords
key
equation
secret key
ego
public
Prior art date
Application number
KR1020150155981A
Other languages
English (en)
Other versions
KR20170053801A (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 KR1020150155981A priority Critical patent/KR101740958B1/ko
Publication of KR20170053801A publication Critical patent/KR20170053801A/ko
Application granted granted Critical
Publication of KR101740958B1 publication Critical patent/KR101740958B1/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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

암호화 방법이 개시된다. 상기 암호화 방법은 수신 단말기에서 수행되고, 비밀키를 설정하는 단계, 상기 비밀키를 이용하여 공개키를 생성하는 단계, 및 서버로부터 수신된 부분 비밀키와 상기 비밀키를 이용하여 복호화키를 생성하는 단계를 포함한다.

Description

암호 시스템 및 방법{ENCRYPTION SYSTEM AND METHOD}
본 발명의 개념에 따른 실시 예는 암호 시스템 및 방법에 관한 것으로, 특히 인증서 없이 효율적으로 데이터를 암호화할 수 있는 암호 시스템 및 방법에 관한 것이다.
현재 널리 사용하는 PKI(Public-Key Infrastructure)에서는 사용자 장치 내에서 공개키와 비밀키 쌍이 생성된다. 이러한 키 쌍은 임의의 난수로 구성되어 있기 때문에 신뢰기관에서 발행하는 인증서(certificate)를 통하여 신원 정보와 난수를 결합(binding)시킨다. 하지만, 인증서를 이용할 경우, 인증서 소유자는 주기적으로 인증서를 갱신해야 하고 검증자는 인증서 폐기 리스트(Certificate Revocation List)를 체크하여 상대방의 공개키가 정당한지 검증하는 과정을 수행하여야 한다. 이는 암/복호화 알고리즘의 효율성과는 별개로 부가적인 페이로드를 송/수신자 모두에게 발생시킨다.
인증서의 문제를 해결하고자 ID 기반 암호(ID-based Encryption) 시스템이 제안되었다. ID 기반 암호 시스템은 학번, 메일주소, 전화번호와 같이 사용자를 특정 지을 수 있는 고유 ID를 직접 공개키로 사용하므로 별도의 공개키 인증 과정이 필요하지 않는다. 인증서가 없으므로 사용자 키 쌍을 직접 생성하는 PKI와 달리 사용자는 ID의 소유권을 키 생성 기관(Key Generation Center)에게 인증받은 후 ID에 대응하는 비밀키를 전달받는 과정을 수행하는데, 이 과정에서 키 생성 기관이 모든 사용자들의 개인키를 알게 되는 막강한 권한을 가지게 된다.
2003년, 신뢰기관의 권한이 다소 약한 PKI와 인증서를 사용하지 않는 ID 기반 암호 시스템의 장점을 융합한 무인증서 기반 암호(Certificateless-based Encryption)가 제안되었다. 무인증서 기반 암호 시스템은 ID 기반 암호 시스템과 같이 키 생성 기관을 시스템 구성에 포함하고 있으나, PKI처럼 사용자가 직접 생성하는 키 쌍이 존재하기 때문에 이 값을 모르는 키 생성 기관은 사용자 ID에 대한 암호문을 복호화할 수 없다. 최근까지 학계에서 무인증서 기반 암호에 대한 연구가 활발히 진행되고 있으나, 다음과 같은 이유로 인하여 상용화 단계에 도달하지 못하고 있다.
일반적으로 무인증서 기반 암호는 겹선형 함수(bilinear map)를 이용한 ID 기반 암호 설계 방법과 동일한 방법을 이용한다. 즉, 대부분의 무인증서 기반 암호 기법은 ID 기반 암호의 비밀키 구조와 매우 유사하다. 이때, 겹선형 함수 연산은 일반 지수 연산보다 최소 10배 최대 50배 정도 느려 하드웨어 성능 제약사항이 있는 디바이스에서 연산하기 부담스럽다.
대한민국 공개특허공보 제10-2011-0035573호(2011.04.06.)
본 발명이 이루고자 하는 기술적인 과제는 인증서 없이 효율적으로 데이터를 암호화하는 방법과 키 생성 기관의 권한을 제한할 수 있는 암호 시스템 및 방법을 제공하는 것이다.
본 발명의 일 실시 예에 따른 암호화 방법은 수신 단말기에서 수행되고, 비밀키를 설정하는 단계, 상기 비밀키를 이용하여 공개키를 생성하는 단계, 및 서버로부터 수신된 부분 비밀키와 상기 비밀키를 이용하여 복호화키를 생성하는 단계를 포함한다.
또한, 본 발명의 일 실시 예에 따른 수신 단말기는 비밀키를 설정하는 비밀키 생성부, 상기 비밀키를 이용하여 공개키를 생성하는 공개키 생성부, 및 서버로부터 수신된 부분 비밀키와 상기 비밀키를 이용하여 복호화키를 생성하는 복호화키 생성부를 포함한다.
또한, 본 발명의 일 실시 예에 따른 암호 시스템은 상기 수신 단말기, 상기 송신 단말기, 및 상기 서버를 포함한다.
본 발명의 실시 예에 따른 암호 시스템 및 방법에 의할 경우, 인증서를 사용하지 않음으로써 인증서 저장, 관리, 폐기 등으로부터 발생하는 문제를 근본적으로 해결할 수 있다.
또한, 키 생성 기관은 ID에 대응하는 부분 비밀키만 생성하므로 암호문으로부터 어떠한 정보도 얻을 수 없으며, 결과적으로 사용자 프라이버시를 보호할 수 있다.
또한, 겹선형 함수 없이 일반 곱셈 순환군(multiplicative cyclic group)을 이용하여 기법을 설계하여 타원곡선 군(eliptic curve group)을 이용할 경우, 구현시 성능을 향상시킬 수 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 일 실시 예에 따른 암호 시스템을 도시한다.
도 2는 도 1에 도시된 서버의 기능 블럭도이다.
도 3은 도 1에 도시된 제1 단말기의 기능 블럭도이다.
도 4는 도 1에 도시된 암호 시스템을 이용한 암호화 방법을 설명하기 위한 흐름도이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1 구성 요소는 제2 구성 요소로 명명될 수 있고 유사하게 제2 구성 요소는 제1 구성 요소로도 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
도 1은 본 발명의 일 실시 예에 따른 암호 시스템을 도시한다.
도 1을 참조하면, 암호 시스템(10)은 제1 단말기(100), 제2 단말기(300) 및 서버(500)를 포함한다.
키 생성 기관 또는 키 생성 서버로 명명될 수도 있는 서버(500)는 공개 파라미터(
Figure 112015108397457-pat00001
)와 마스터키(
Figure 112015108397457-pat00002
)를 생성하고, 생성된 공개 파라미터(
Figure 112015108397457-pat00003
)를 공개할 수 있다. 또한, 서버(500)는 사용자의 ID에 대한 부분 비밀키(
Figure 112015108397457-pat00004
)를 생성하고, 생성된 부분 비밀키(
Figure 112015108397457-pat00005
)를 대응되는 단말기로 송신할 수 있다.
제1 단말기(100) 또는 제2 단말기(300)는 서버(500)로부터 수신된 부분 비밀키(
Figure 112015108397457-pat00006
)와 자신의 비밀키(
Figure 112015108397457-pat00007
)를 이용하여 공개키(
Figure 112015108397457-pat00008
)와 복호화키(
Figure 112015108397457-pat00009
)를 생성할 수 있다. 이때 생성된 공개키(
Figure 112015108397457-pat00010
)는 공개될 수 있다.
제1 단말기(100) 및/또는 PC(personal computer), 태블릿 PC, 노트북(notebook), 넷-북(net-book), e-리더(e-reader), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 또는 MP4 플레이어와 같은 데이터 처리 장치로 구현되거나, 모바일폰(mobile phone) 또는 스마트폰(smart phone)과 같은 핸드헬드 장치(handheld device)로 구현될 수 있다.
또한, 겹선형 함수(
Figure 112015108397457-pat00011
)란 겹선형 성질(
Figure 112015108397457-pat00012
)을 만족하는 함수를 의미한다. Super Singular 곡선(SS-curve)를 이용하여 겹선형 함수를 구현할 경우
Figure 112015108397457-pat00013
를 계산하는 시간은 일반 지수 연산
Figure 112015108397457-pat00014
를 계산하는 시간보다 10배 ~ 50배 정도 느리다(Xavier Boyen, "A tapestry of Identity-based encryption: practical frameworks compared", 2008). 따라서, 본 발명에서는 겹선형 함수 없이 일반 곱셈 순환군(multiplicative cyclic group)을 이용하여 기법을 설계하여 타원곡선 군(elliptic curve group)을 이용할 경우, 구현 시 매우 효율적인 성능 평가를 기대할 수 있다.
이하에서, 제1 단말기(100)는 제1 단말기(100)의 공개키(
Figure 112015108397457-pat00015
)를 이용하여 암호화된 암호문(
Figure 112015108397457-pat00016
)을 수신하고, 암호문(
Figure 112015108397457-pat00017
)을 복호화하는 수신 단말기로, 제2 단말기(300)는 제1 단말기(100)의 공개키(
Figure 112015108397457-pat00018
)를 이용하여 메시지(
Figure 112015108397457-pat00019
)를 암호화하여 암호문(
Figure 112015108397457-pat00020
)을 생성한 후 제1 단말기(100)로 송신하는 송신 단말기로 가정한다.
도 2는 도 1에 도시된 서버의 기능 블럭도이다.
도 1과 도 2를 참조하면, 서버(500)는 셋업부(510)와 비밀키 생성부(530)를 포함한다.
셋업부(510)는 셋업 알고리즘(
Figure 112015108397457-pat00021
)을 수행하여 공개 파라미터(
Figure 112015108397457-pat00022
)와 마스터키(
Figure 112015108397457-pat00023
)를 생성하고, 공개 파라미터(
Figure 112015108397457-pat00024
)를 공개할 수 있다. 실시 예에 따라, 공개 파라미터(
Figure 112015108397457-pat00025
)는 유무선 통신망을 통하여 제1 단말기(100) 및/또는 제2 단말기(300)로 송신될 수도 있다.
구체적으로, 셋업부(510)는 안전성 파라미터(
Figure 112017007887372-pat00026
)에 상응하는 소수(
Figure 112017007887372-pat00027
)를 선택하고, 위수를
Figure 112017007887372-pat00028
로 갖는 곱셈군(
Figure 112017007887372-pat00029
)을 선택한다. 또한, 셋업부(510)는 (k+1) 개의 임의의 값(
Figure 112017007887372-pat00030
)을 선택한 후
Figure 112017007887372-pat00176
를 계산한다. 이때,
Figure 112017007887372-pat00032
는 곱셈군(
Figure 112017007887372-pat00033
)의 생성원을 의미할 수 있다. 또한, 셋업부(510)는 임의의 길이의 문자열을 입력받아 k-비트의 바이너리 문자열을 출력하는 암호학적 해쉬함수(
Figure 112017007887372-pat00034
)를 선택한다. 선택된 값들과 계산된 값들을 이용하여 생성된 공개 파라미터(
Figure 112017007887372-pat00035
)와 마스터키(
Figure 112017007887372-pat00036
)는 다음과 같다.
Figure 112015108397457-pat00037
비밀키 생성부(530)는 부분 비밀키 생성 알고리즘(
Figure 112015108397457-pat00038
)을 수행하여 부분 비밀키(
Figure 112015108397457-pat00039
)를 생성하고 생성된 부분 비밀키(
Figure 112015108397457-pat00040
)를 제1 단말기(100)로 송신할 수 있다.
구체적으로, 비밀키 생성부(530)는 인증된 사용자의 ID에 대한 부분 비밀키를 생성하기 위하여
Figure 112015108397457-pat00041
를 계산한다.
Figure 112015108397457-pat00042
이라 할 때, 비밀키 생성부(530)는 임의의 난수인 비밀키 태그값(
Figure 112015108397457-pat00043
)을 선택한 뒤,
Figure 112015108397457-pat00044
에 대한 부분 비밀키(
Figure 112015108397457-pat00045
)를 생성한다. 부분 비밀키(
Figure 112015108397457-pat00046
)의 각 구성 요소는 다음과 같다.
Figure 112015108397457-pat00047
Figure 112015108397457-pat00048
도 3은 도 1에 도시된 제1 단말기의 기능 블럭도이다.
도 1 내지 도 3을 참조하면, 제1 단말기(100)는 비밀키 생성부(110), 공개키 생성부(130), 복호화키 생성부(150) 및 복호화부(190)를 포함한다. 실시 예에 따라 제1 단말기(100)는 암호화부(170)를 더 포함할 수 있다.
비밀키 생성부(110)는 비밀키 생성 알고리즘(
Figure 112015108397457-pat00049
)을 수행하여 제1 단말기(100)만의 독립적인 비밀키(
Figure 112015108397457-pat00050
)를 생성할 수 있다.
구체적으로, 비밀키 생성부(110)는 임의의 값(
Figure 112015108397457-pat00051
)을 선택한 후, 서버(500)로부터 수신된 부분 비밀키(
Figure 112015108397457-pat00052
)와는 독립적인 자신의 비밀키(
Figure 112015108397457-pat00053
)를 생성(또는 설정)할 수 있다.
공개키 생성부(130)는 공개키 생성 알고리즘(
Figure 112015108397457-pat00054
을 수행하여 공개키(
Figure 112015108397457-pat00055
)를 생성(또는 설정)하고, 생성된 공개키(
Figure 112015108397457-pat00056
)를 공개할 수 있다.
구체적으로, 공개키 생성부(130)는 자신의 비밀키인 비밀값(
Figure 112015108397457-pat00057
)를 이용하여 공개키(
Figure 112015108397457-pat00058
)를 생성할 수 있다.
복호화키 생성부(150)는 복호화키 생성 알고리즘(
Figure 112015108397457-pat00059
)을 수행하여 복호화키(
Figure 112015108397457-pat00060
)를 생성(또는 설정)할 수 있다.
구체적으로, 복호화키 생성부(150)는 부분 비밀키(
Figure 112015108397457-pat00061
)와 비밀키(
Figure 112015108397457-pat00062
)를 이용하여 복호화키(
Figure 112015108397457-pat00063
)를 생성할 수 있다. 복호화키(
Figure 112015108397457-pat00064
)의 각 구성 요소는 아래와 같다.
Figure 112015108397457-pat00065
Figure 112017007887372-pat00177
실시 예로,
Figure 112015108397457-pat00067
가 4비트 바이너리 문자열을 출력한다고 가정하고(
Figure 112015108397457-pat00068
),
Figure 112015108397457-pat00069
이고
Figure 112015108397457-pat00070
일 때,
Figure 112015108397457-pat00071
에 대응하는 복호화키(
Figure 112015108397457-pat00072
)와
Figure 112015108397457-pat00073
에 대응하는 복호화키(
Figure 112015108397457-pat00074
)는 다음과 같다.
Figure 112015108397457-pat00075
Figure 112015108397457-pat00076
암호화부(170)는 암호화 알고리즘(
Figure 112015108397457-pat00077
)을 수행하여 메시지(
Figure 112015108397457-pat00078
)를 암호화할 수 있다.
구체적으로 암호화부(170)는 메시지(
Figure 112015108397457-pat00079
)를 암호화하기 위하여 우선 임의의 난수(
Figure 112015108397457-pat00080
)와 난수인 암호문 태그값(
Figure 112015108397457-pat00081
)을 선택한다. 또한, 암호화부(170)는
Figure 112015108397457-pat00082
를 계산한 후 공개 파라미터(
Figure 112015108397457-pat00083
)와 공개키(
Figure 112015108397457-pat00084
)를 이용하여 암호문(
Figure 112015108397457-pat00085
)을 생성할 수 있다. 암호문(
Figure 112015108397457-pat00086
)의 각 구성 요소는 다음과 같다.
Figure 112015108397457-pat00087
Figure 112015108397457-pat00088
Figure 112015108397457-pat00089
Figure 112015108397457-pat00090
실시 예로,
Figure 112015108397457-pat00091
일 때,
Figure 112015108397457-pat00092
에 대응하는 공개키(
Figure 112015108397457-pat00093
)를 이용하여 암호화한 암호문(
Figure 112015108397457-pat00094
)은 다음과 같다.
Figure 112015108397457-pat00095
상기 암호문(
Figure 112015108397457-pat00096
)을 생성하는 송신자는 자신이 선택한
Figure 112015108397457-pat00097
와 공개 상수(
Figure 112015108397457-pat00098
)의 원소
Figure 112015108397457-pat00099
, 그리고 사용자 공개키(
Figure 112015108397457-pat00100
)를 이용하여 암호문(
Figure 112015108397457-pat00101
)의 두 번째 원소를 계산할 수 있다.
복호화부(190)는 복호화 알고리즘(
Figure 112015108397457-pat00102
)을 수행하여 암호문(
Figure 112015108397457-pat00103
)을 복호화하여 메시지(
Figure 112015108397457-pat00104
)를 계산할 수 있다.
구체적으로, 복호화부(190)는 아래 3 개의 수학식을 순차적으로 연산함으로써 암호문(
Figure 112015108397457-pat00105
)을 복호화할 수 있다.
Figure 112015108397457-pat00106
Figure 112015108397457-pat00107
Figure 112015108397457-pat00108
복호화 수식에 대한 정확도(correctness)는 아래와 같다.
Figure 112015108397457-pat00109
만약,
Figure 112015108397457-pat00110
이면, 복호화가 불가능하다. 하지만, 각각이 임의의 난수인
Figure 112015108397457-pat00111
Figure 112015108397457-pat00112
가 같은 값이 될 확률은
Figure 112015108397457-pat00113
이므로, 안전성 파라미터(
Figure 112015108397457-pat00114
)에 의하여 충분한
Figure 112015108397457-pat00115
가 선택된다면 거의 0에 가까운 의미 없는(negligible) 값이 된다.
제2 단말기(300)의 구성 및 기능은 제1 단말기(100)의 구성 및 기능과 동일할 수 있으므로 이에 관한 상세한 설명은 생략하기로 한다.
도 2와 도 3에 도시된 서버(500)의 구성들 각각과 제1 단말기(100)의 구성들 각각은 기능 및 논리적으로 분리될 수 있음으로 나타내는 것이며, 반드시 각각의 구성이 별도의 물리적 장치로 구분되거나 별도의 코드로 작성됨을 의미하는 것이 아님을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.
또한, 본 명세서에서 "~부"라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 모듈은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것이 아니다.
도 4는 도 1에 도시된 암호 시스템을 이용한 암호화 방법을 설명하기 위한 흐름도이다.
도 1 내지 도 4를 참조하면, 서버(500)의 셋업부(510)는 공개 파라미터(
Figure 112015108397457-pat00116
)와 마스터키(
Figure 112015108397457-pat00117
)를 생성할 수 있다(S100). 생성된 공개 파라미터(
Figure 112015108397457-pat00118
)는 셋업부(510)에 의해 공개될 수 있다.
S200 단계에서, 서버(500)의 비밀키 생성부(530)는 사용자의 ID에 대한 부분 비밀키(
Figure 112015108397457-pat00119
)를 생성하고, 생성된 부분 비밀키(
Figure 112015108397457-pat00120
)를 상기 사용자의 단말기, 예컨대 제1 단말기(100)로 송신한다.
서버(500)로부터 부분 비밀키(
Figure 112015108397457-pat00121
)를 수신한 제1 단말기(100)는 자신의 비밀키(
Figure 112015108397457-pat00122
)와 공개키(
Figure 112015108397457-pat00123
)를 생성하고, 생성된 공개키(
Figure 112015108397457-pat00124
)를 공개할 수 있다. 이때 제1 단말기(100)는 암호문(
Figure 112015108397457-pat00125
)을 수신하는 수신 단말기를 의미할 수 있다.
또한, 제1 단말기(100)는 부분 비밀키(
Figure 112015108397457-pat00126
)와 비밀키(
Figure 112015108397457-pat00127
)를 이용하여 복호화키(
Figure 112015108397457-pat00128
)를 생성할 수 있다(S400).
S500 단계에서, 제2 단말기(300)는 제1 단말기(100)의 공개키(
Figure 112015108397457-pat00129
)를 이용하여 메시지(
Figure 112015108397457-pat00130
)를 암호화하여 암호문(
Figure 112015108397457-pat00131
)을 생성하고, 생성된 암호문(
Figure 112015108397457-pat00132
)을 제1 단말기(100)로 송신할 수 있다. 이때, 제2 단말기(300)는 암호문(
Figure 112015108397457-pat00133
)을 송신하는 송신 단말기를 의미할 수 있다.
암호문(
Figure 112015108397457-pat00134
)을 수신한 수신 단말기인 제1 단말기(100)는 복호화키(
Figure 112015108397457-pat00135
)를 이용하여 암호문(
Figure 112015108397457-pat00136
)을 복호화할 수 있다(S600).
상술된 암호화 방법에서 단계 S400과 단계 S500은 수행 주체가 상이한 단계로서, 그 순서가 반드시 정해진 것은 아니며 실시 예에 따라 수행 순서가 달리 진행될 수도 있다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10 : 암호 시스템
100 : 제1 단말기
110 : 비밀키 생성부
130 : 공개키 생성부
150 : 복호화키 생성부
170 : 암호화부
190 : 복호화부
300 : 제2 단말기
500 : 서버
510 : 셋업부
530 : 비밀키 생성부

Claims (9)

  1. 수신 단말기에서 수행되는 암호화 방법에 있어서,
    비밀키()를 설정하는 단계;
    상기 비밀키(
    Figure 112017007887372-pat00138
    )를 이용하여 공개키(
    Figure 112017007887372-pat00139
    )를 생성하는 단계; 및
    서버로부터 수신된 부분 비밀키(
    Figure 112017007887372-pat00178
    )와 상기 비밀키(
    Figure 112017007887372-pat00141
    )를 이용하여 제1 수학식과 제2 수학식에 의해 정의되는 복호화키(
    Figure 112017007887372-pat00179
    )를 생성하는 단계를 포함하고,
    상기 제1 수학식은
    Figure 112017007887372-pat00180
    이고,
    상기 제2 수학식은
    Figure 112017007887372-pat00181
    인,
    암호화 방법.
  2. 제1항에 있어서,
    상기 비밀키(
    Figure 112017007887372-pat00143
    )를 설정하는 단계는,
    선택된 임의의 값(
    Figure 112017007887372-pat00182
    )을 상기 비밀키(
    Figure 112017007887372-pat00145
    )로 설정하는,
    암호화 방법.
  3. 제2항에 있어서,
    상기 공개키(
    Figure 112015108397457-pat00146
    )는 수학식에 의해 결정되고,
    상기 수학식은
    Figure 112015108397457-pat00147
    이고,
    상기
    Figure 112015108397457-pat00148
    는 소수(
    Figure 112015108397457-pat00149
    )를 위수로 갖는 곱셈군(
    Figure 112015108397457-pat00150
    )의 생성원인,
    암호화 방법.
  4. 제1항에 있어서,
    상기 공개키(
    Figure 112017007887372-pat00151
    )를 이용하여 송신 단말기에 의해 암호화된 암호문(
    Figure 112017007887372-pat00183
    )을 상기 송신 단말기로부터 수신하고, 상기 복호화키(
    Figure 112017007887372-pat00153
    )를 이용하여 상기 암호문(
    Figure 112017007887372-pat00184
    )을 복호화하는 단계를 더 포함하고,
    상기 암호문(
    Figure 112017007887372-pat00185
    )을 복호화하는 단계는 제3 수학식, 제4 수학식 및 제5 수학식을 순차적으로 연산하여 상기 암호문(
    Figure 112017007887372-pat00186
    )으로부터 메시지(
    Figure 112017007887372-pat00187
    )을 생성하고,
    상기 제3 수학식은
    Figure 112017007887372-pat00188
    이고,
    상기 제4 수학식은
    Figure 112017007887372-pat00189
    이고,
    상기 제5 수학식은
    Figure 112017007887372-pat00190
    인,
    암호화 방법.
  5. 비밀키(
    Figure 112017007887372-pat00155
    )를 설정하는 비밀키 생성부;
    상기 비밀키(
    Figure 112017007887372-pat00156
    )를 이용하여 공개키(
    Figure 112017007887372-pat00157
    )를 생성하는 공개키 생성부; 및
    서버로부터 수신된 부분 비밀키(
    Figure 112017007887372-pat00191
    )와 상기 비밀키(
    Figure 112017007887372-pat00159
    )를 이용하여 제1 수학식과 제2 수학식에 의해 정의되는 복호화키(
    Figure 112017007887372-pat00192
    )를 생성하는 복호화키 생성부를 포함하고,
    상기 제1 수학식은
    Figure 112017007887372-pat00193
    이고,
    상기 제2 수학식은
    Figure 112017007887372-pat00194
    인,
    수신 단말기.
  6. 제5항에 있어서,
    상기 비밀키 생성부는
    선택된 임의의 값(
    Figure 112017007887372-pat00195
    )을 상기 비밀키(
    Figure 112017007887372-pat00162
    )로 설정하는,
    수신 단말기.
  7. 제6항에 있어서,
    상기 공개키(
    Figure 112015108397457-pat00163
    )는 수학식에 의해 결정되고,
    상기 수학식은
    Figure 112015108397457-pat00164
    이고,
    상기
    Figure 112015108397457-pat00165
    는 소수(
    Figure 112015108397457-pat00166
    )를 위수로 갖는 곱셈군(
    Figure 112015108397457-pat00167
    )의 생성원인,
    수신 단말기.
  8. 제5항에 있어서,
    상기 수신 단말기는 상기 공개키(
    Figure 112017007887372-pat00168
    )를 이용하여 송신 단말기에 의해 암호화된 암호문(
    Figure 112017007887372-pat00196
    )을 상기 송신 단말기로부터 수신하고, 상기 복호화키(
    Figure 112017007887372-pat00170
    )를 이용하여 상기 암호문(
    Figure 112017007887372-pat00197
    )을 복호화하는 복호화부를 더 포함하고,
    상기 복호화부는 제3 수학식, 제4 수학식 및 제5 수학식을 순차적으로 연산하여 상기 암호문(
    Figure 112017007887372-pat00198
    )으로부터 메시지(
    Figure 112017007887372-pat00199
    )을 생성하고,
    상기 제3 수학식은
    Figure 112017007887372-pat00200
    이고,
    상기 제4 수학식은
    Figure 112017007887372-pat00201
    이고,
    상기 제5 수학식은
    Figure 112017007887372-pat00202
    인,
    수신 단말기.
  9. 수신 단말기, 송신 단말기 및 서버를 포함하는 암호 시스템에 있어서,
    상기 수신 단말기는
    비밀키(
    Figure 112017007887372-pat00203
    )를 설정하는 제1 비밀키 생성부;
    상기 비밀키(
    Figure 112017007887372-pat00204
    )를 이용하여 공개키(
    Figure 112017007887372-pat00205
    )를 생성하는 공개키 생성부;
    상기 서버로부터 수신된 부분 비밀키(
    Figure 112017007887372-pat00206
    )와 상기 비밀키(
    Figure 112017007887372-pat00207
    )를 이용하여 제1 수학식과 제2 수학식에 의해 정의되는 복호화키(
    Figure 112017007887372-pat00208
    )를 생성하는 복호화키 생성부; 및
    상기 공개키(
    Figure 112017007887372-pat00209
    )를 이용하여 상기 송신 단말기에 의해 암호화된 암호문(
    Figure 112017007887372-pat00210
    )을 상기 송신 단말기로부터 수신하고, 상기 복호화키(
    Figure 112017007887372-pat00211
    )를 이용하여 상기 암호문(
    Figure 112017007887372-pat00212
    )을 복호화하는 복호화부를 포함하고,
    상기 제1 수학식은
    Figure 112017007887372-pat00213
    이고,
    상기 제2 수학식은
    Figure 112017007887372-pat00214
    이고,
    상기 서버는
    공개 파라미터(
    Figure 112017007887372-pat00215
    )와 마스터키(
    Figure 112017007887372-pat00216
    )를 생성하는 셋업부; 및
    상기 공개 파라미터(
    Figure 112017007887372-pat00217
    )와 상기 마스터키(
    Figure 112017007887372-pat00218
    )를 이용하여 상기 부분 비밀키(
    Figure 112017007887372-pat00219
    )를 생성하는 제2 비밀키 생성부를 포함하고,
    상기 셋업부는 k+1(k는 임의의 자연수) 개의 임의의 난수(
    Figure 112017007887372-pat00220
    )를 선택하고 제3 수학식에 의해 정의되는 상기 공개 파라미터(
    Figure 112017007887372-pat00221
    )와 제4 수학식에 의해 정의되는 상기 마스터키(
    Figure 112017007887372-pat00222
    )를 생성하고,
    상기 제3 수학식은
    Figure 112017007887372-pat00223
    이고,
    상기 제4 수학식은
    Figure 112017007887372-pat00224
    이고,
    상기
    Figure 112017007887372-pat00225
    는 곱셈군(
    Figure 112017007887372-pat00226
    )의 생성원이고, 상기
    Figure 112017007887372-pat00227
    는 k 비트의 바이너리 문자열을 출력하는 암호학적 해쉬함수인,
    암호 시스템.
KR1020150155981A 2015-11-06 2015-11-06 암호 시스템 및 방법 KR101740958B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150155981A KR101740958B1 (ko) 2015-11-06 2015-11-06 암호 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150155981A KR101740958B1 (ko) 2015-11-06 2015-11-06 암호 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20170053801A KR20170053801A (ko) 2017-05-17
KR101740958B1 true KR101740958B1 (ko) 2017-05-30

Family

ID=59048325

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150155981A KR101740958B1 (ko) 2015-11-06 2015-11-06 암호 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101740958B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090083190A1 (en) 2005-12-01 2009-03-26 Toshiyuki Isshiki System and Method for Electronic Bidding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090083190A1 (en) 2005-12-01 2009-03-26 Toshiyuki Isshiki System and Method for Electronic Bidding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
논문(Sun Yinxia, "Efficient revocable certificateless encryption against decryption key exposure", IET Information Security 9.3, 2015.04.)*

Also Published As

Publication number Publication date
KR20170053801A (ko) 2017-05-17

Similar Documents

Publication Publication Date Title
CN108352015B (zh) 用于基于区块链的系统结合钱包管理系统的安全多方防遗失存储和加密密钥转移
CN104270249B (zh) 一种从无证书环境到基于身份环境的签密方法
CN101789865B (zh) 一种用于加密的专用服务器及加密方法
US9071445B2 (en) Method and system for generating implicit certificates and applications to identity-based encryption (IBE)
CN104301108B (zh) 一种从基于身份环境到无证书环境的签密方法
EP2798773B1 (en) Generating digital signatures
JP4130653B2 (ja) 擬似公開鍵暗号方法及びシステム
CN107425971B (zh) 无证书的数据加/解密方法和装置、终端
US20130159713A1 (en) Authentication method
Bai et al. Elliptic curve cryptography based security framework for Internet of Things (IoT) enabled smart card
CN105307165A (zh) 基于移动应用的通信方法、服务端和客户端
CN109309566B (zh) 一种认证方法、装置、系统、设备及存储介质
KR100989185B1 (ko) Rsa기반 패스워드 인증을 통한 세션키 분배방법
CN111769938A (zh) 一种区块链传感器的密钥管理系统、数据验证系统
CN110784314A (zh) 无证书的加密信息处理方法
CN116830523A (zh) 阈值密钥交换
JP5324813B2 (ja) 鍵生成装置、証明書生成装置、サービス提供システム、鍵生成方法、証明書生成方法、サービス提供方法およびプログラム
CN106453253B (zh) 一种高效的基于身份的匿签密方法
CN105530089B (zh) 属性基加密方法和装置
US20050060545A1 (en) Secure provision of image data
CN108011856A (zh) 一种传输数据的方法和装置
KR101793528B1 (ko) 무인증서 공개키 암호 시스템
KR101912443B1 (ko) 공개키 기반 암호화 방법 및 키 생성 서버
Ray et al. Design of mobile public key infrastructure (M-PKI) using elliptic curve cryptography
KR101740958B1 (ko) 암호 시스템 및 방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant