KR100323799B1 - 안전성이 증명가능한 타원곡선 공개키 암호화 시스템 - Google Patents

안전성이 증명가능한 타원곡선 공개키 암호화 시스템 Download PDF

Info

Publication number
KR100323799B1
KR100323799B1 KR1019990051244A KR19990051244A KR100323799B1 KR 100323799 B1 KR100323799 B1 KR 100323799B1 KR 1019990051244 A KR1019990051244 A KR 1019990051244A KR 19990051244 A KR19990051244 A KR 19990051244A KR 100323799 B1 KR100323799 B1 KR 100323799B1
Authority
KR
South Korea
Prior art keywords
elliptic curve
public key
ciphertext
here
active
Prior art date
Application number
KR1019990051244A
Other languages
English (en)
Other versions
KR20010000047A (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 KR1019990051244A priority Critical patent/KR100323799B1/ko
Publication of KR20010000047A publication Critical patent/KR20010000047A/ko
Application granted granted Critical
Publication of KR100323799B1 publication Critical patent/KR100323799B1/ko

Links

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
    • 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

Abstract

본 발명은 능동적 암호문 선택공격에 안전한 타원곡선 암호시스템의 설계 기법에 관한 내용으로 종래의 유한체에서의 연산을 이용한 능동적 암호문 선택 공격에 안전한 공개키 암호 시스템에 타원곡선 암호 기법을 적용하였다. 이로써 종래의 능동적 암호문 선택공격에 안전한 공개키 암호시스템을 타원 곡선 상에서도 구성이 가능하므로, 메시지의 확장이 최소화되고 안전성 및 효율성이 증가될 수 있다.

Description

안전성이 증명가능한 타원곡선 공개키 암호화 시스템{METHOD FOR THE PROVABLY SECURE ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEM}
본 발명은 공개키 암호 시스템에 관한 것으로, 보다 상세하게는 능동적 암호문 선택공격에 안전한 타원곡선 암호시스템의 설계에 관한 것이다.
정보통신망의 발전과 더불어 다양한 정보가 네트워크를 통하여 교류되고 있다. 송신자가 전자 우편이나 전자 문서 전달 시스템 등을 통하여 귀중한 메시지를 전달하고자 할 때, 메시지 송신자의 입장에서는 정당한 수신자가 정보를 제대로 받았는 지, 그리고 수신자의 입장에서는 메시지의 생성자가 정당한 송신자가 맞는지 등을 확인할 메커니즘이 필요하다. 이러한 기능을 효과적으로 제공하기 위한 방법중의 하나는 각 사용자가 2개의 키 정보로서 비밀키와 공개키를 가지고 있는 공개키 암호 시스템을 포함한다.
공개키 암호화 시스템은 암호화를 위한 키와 복호화를 위한 키라는 한 쌍의 키를 사용하는 방법으로 비대칭적 암호화 방법이라고도 지칭된다. 공개키 암호화 시스템에서, 어느 임의의 키로 암호화된 정보는 이에 대응하는 키에 의해서만 복호화될 수 있기 때문에 문서작성자의 신원을 증명하고 메시지의 기밀성과 무결성을 확보할 수 있다는 이유로 널리 사용되고 있다.
도 1을 참조하면, 일반적인 공개키 암호시스템의 블록 구성도가 도시된다. 도시된 바와 같이, 송신자측의 암호화 장치(10) 및 수신자측의 복호화 장치(20)는 암호 및 디지털 서명 서비스 등을 보장하기 위하여 일반적으로 널리 알려진 RSA 공개키 암호 알고리즘을 사용한다. 수신자측의 복호화 장치(20)는 수학적인 역 변환에 의한 공개키와 개인키(또는 비밀키)를 연산하여 공개키는 모든 사람이 알 수 있는 공개 게시판(22)에 공지하고, 개인키는 수신자측의 복호화 장치(20)에서 비밀로 보관한다.
송신자측의 암호화 장치(10)는 암호화하고자 하는 평문 메시지(14)를 공개 게시판(12)에 보관된 공개키를 이용하여 암호화한 후, 암호화된 암호문(16)을 통신 채널(24)를 통하여 수신자측의 복호화 장치(20)으로 전송한다. 수신자측의 복호화 장치(20)는 자신이 공개 게시판(12)에 공개한 공개키와 대응되는 비밀키로 송신자(10)로부터 제공된 암호문(16)을 복호화하여 송신자측의 암호화 장치(10)에서 전송한 원래의 평문 메시지(14)를 복원한다.
그러나, 송신자측의 암호화 장치(10)와 수신자측의 복호화 장치(20)사이에서 암호문(16)이 전송될 때, 암호문(16)은 안전성이 보장되지 아니한 전송로(24)를 통과하기 때문에 모든 사람에게 전송되는 내용이 공개될 수 있으며, 또한, 의도적으로 불순한 공격자에 의해 공격받을 수 있다. 이러한 공격에는 공격자가 단순히 암호 내용을 감청하여 암호문으로부터 평문이나 키 정보를 추출하는 수동 공격과 통신로에 공격에 용이한 정보를 삽입하여 해독하는 능동 공격이 있다.
수동 공격이 허용되는 상황에서, 공격자는 암호문에 대한 부분적인 정보(예를들면, 평문의 최하위 비트 값 등)에 관한 해독이 성립하므로, 이에 대응하여 공개키 암호 시스템은 어의적 안전성(semantic security)을 보장하여야 한다.
어떤 공개키 암호 시스템은 대수학적 성질을 가지고 있기 때문에, 예를들면, 2개 암호문의 곱은 2개 평문의 합과 같다는 특성 때문에, 공격자가 능동 공격 방법 중 선별적인 암호문으로 공격을 시도하는 경우가 발생한다. 능동적 암호문 선택공격(Adaptive Chosen Ciphertext Attack : 이하 ACCA라고 함)이란, 공격자가 암호문()에 대한 정보(키 혹은 암호문에 상응하는 평문)를 얻기 위하여암호문()과는 다르지만 암호문()과 관련이 있는 암호문()들을 복호화하여 이루어지는 공격을 말한다. 이 때 공격자는 암호문()를 직접 복호화할 수는 없다. 이런 ACCA에 대한 안전성을 보장하는 공개키 암호 시스템을 구성하는 것은 상당히 어려운 일로 분류되어 왔다.
ACCA는 실제로 공개키 암호시스템에 대하여 가해질 수 있는 매우 강력한 공격중의 하나이다. 예전에는 공개키 암호시스템의 설계시 주로 평문의 내용을 효과적으로 숨기는 데에 주로 설계의 초점을 맞추었으나 최근에는 설계되는 공개키 암호 시스템들이 ACCA에 안전한가에 설계의 초점이 많이 맞추어지고 있는 실정이다. 하지만 ACCA에 어느 정도의 레벨로 안전성을 제공하는가에 따라 계산량의 증가도 가져오고, 메시지의 길이도 늘어나게 되는 경우가 대부분이다.
ACCA에 안전한 공개키 암호시스템중의 하나는 1991년 라코프(Rackoff)와 사이몬(Simmon) 등이 비대화형 영지식 증명법(non-interactive zero knowledge proof)을 이용한 기법이 제안되어 있다. 이 기법들은 공개키 암호시스템의 안전성에 관한 수학적인 증명은 제공하였지만 실용적이지 못하다는 평을 받았다.
이후 1993년 벨레워(Bellare)와 로가웨이(Rogaway)가 이상적인 해쉬함수를 가정한 실용적이고 증명 가능한 안전성을 가진 공개키 암호 시스템을 제안하였다. 이 기법은 실용성과 안전성에서 많은 주목을 받고 있으나, 해쉬함수를 이상적으로 가정한 것이 약점으로 지적되고 있다.
추가적인 이상적인 가정이 없고 실용적인 가치가 있는 ACCA에 대하여 안전성이 증명 가능한 공개키 암호 시스템은 크립토 98회의에서 크래머(Cramer)와 샤우프(Shoup)에 의하여 처음으로 제안되었다.
도 2는 크래머-샤우프(Cramer-Shoup) 공개키 암호시스템이 채택하고 있는 구성도로서, 송신자측의 암호화 장치(30)는 수신자측 복호화 장치(40)에서 생성되어 공개 게시판(42)에 공개된 공개키를 사용하여 암호화할 때 암호화하고자 하는 평문(34) 또는 암호화된 암호문(36)에 인증성을 보장해주는 특정한 구조를 준다. 통신 채널(35)을 통해 암호화 장치(30)로부터 전송된 암호문(36)을 수신한 복호화 장치(40)는 이 암호문(36)에 들어 있는 특정 구조를 암호문(36)을 복호화하기 전 또는 복호화 한 후에 확인하는 절차를 수행하며, 그 결과 유효한 구조라고 판단될 때 평문(34)을 최종적으로 받아들인다. 상술한 크래머-샤우프 공개키 암호 시스템은 정수의 소수체 상에서 디피 헬먼의 결정 문제(Diffie-Hellman decision problem)에 안전성의 근거를 두고 있다.
상술한 크래머-샤우프 시스템의 구성은 최근에 제안되고 있는 ACCA에 안전한 공개키 암호시스템의 전형적인 구성 방법으로, 종래의 공개키 암호 시스템에서 암호화하는 과정은 동일하나 복호화하는 과정에서 암호문의 유효성 확인 절차 및 평문의 유효성 확인 절차를 더 포함하고 있다. 그러나 크래머-샤우프 공개키 암호 시스템은 수학적으로 안전성이 증명 가능한 점, 기존의 증명 가능한 공개키 암호 시스템에 비해 효율성이 크다는 장점이 있으나, 암호문의 길이가 평문의 길이에 비하여 늘어나는 단점이 있다. 그리고 크래머-샤우프 공개키 암호 시스템의 근간을 이루는 디피 헬먼 결정 문제는 유한체에서 보다는 타원 곡선 위에서 정의될 때 안전성이 더 높다는 것이 알려져 있으므로 유한체에서의 연산보다는 타원 곡선 위에서의 연산을 이용하는 것이 안전도 측면에서 더 바람직하다고 볼 수 있다.
그러므로, 본 발명은 상술한 문제를 해결하고자 안출된 것으로, 본 발명은 타원곡선 공개키 암호기법을 종래기술의 안전성이 증명 가능한 공개키 암호시스템에 적용하여 메시지 길이의 확장을 최소화하면서, ACCA에 대하여 안전성이 증명가능한 공개키 암호 시스템을 제공하는 것을 그 목적으로 한다.
상술한 목적을 달성하기 위한 본 발명에 따른 타원곡선 상의 능동 암호문 선택 공격에 안전한 공개키 암호시스템의 구현방법은: 수신측에서, 타원곡선을 정의하는 유한체(또는)(여기서,는 표수(characteristic)가 2가 아닌 소수)상에서 일부의 타원곡선()을 선택하는 단계; 송신측에서, 상기 선택된 타원 곡선()상에서 개인키()와 공개키(여기서,는 상기 타원 곡선()상에서 선택된 임의의 점이고,은 변수이고,는 해시함수이며)의 쌍을 생성하는 단계; 상기 송신측에서, 상기 수신자측에서 생성된 공개키를 이용하여 전송하고자 하는 평문을 상기 타원 곡선 상의 점들로 표현하여 암호화하는 단계; 상기 수신측에서, 상기 송신측으로부터 전송된 암호문()(에 대하여 유효성을 검증하는 단계; 상기 수신측에서, 유효성이 검증된암호문()(을 상기 수신측의 개인키()를 이용하여 평문으로 복호화하는 단계를 포함하는 것을 특징으로 한다.
도 1은 일반적인 공개키 암호 시스템의 구성도,
도 2는 종래 기술의 능동적 암호문 선택 공격(ACCA : Acaptive Chosen Ciphertext Attack)에 안전한 타원곡선 공개키 암호 시스템의 구성도,
도 3은 본 발명에 따른 능동적 암호문 선택 공격에 안전한 타원곡선 공개키 암호 시스템의 블록 구성도,
도 4는 도 3에 도시된 타원곡선 공개키 암호 시스템의 동작을 설명하는 흐름도.
<도면의 주요부분에 대한 부호의 설명>
10, 30, 100 : 암호화 장치 20, 40, 200 : 복호화 장치
210 : 인증 검사부 22, 42, 300 : 공개 게시판
24, 44, 350 : 통신 채널
이하 본 발명은 첨부된 도면을 참조하여 다음과 같이 상세히 설명될 것이다.
도 3은 본 발명에 따른 공개키 암호시스템의 개략적인 블록 구성도로서, 송신자측의 암호화 장치(100)와 수신자측의 복호화 장치(200) 및 인증검사부(210)를 포함한다.
본 발명의 타원곡선 공개키 암호시스템의 구조는 도 1에 예시된 종래기술의 공개키 암호시스템에 암호문의 전송 도중 공격자에 의해 변조되었을 경우 그 변조 여부를 검사할 수 있는 메시지 인증성 검사부분(210)이 추가된 것이다. 이런 형태의 공개키 암호 시스템을 타원 곡선 위에서의 이산대수문제의 어려움에 기반하고 있는 타원곡선 암호기법을 이용하여 설계한 것이 본 발명의 기술적 특징이다. 또한 메시지를 타원 곡선상의 점으로 표현하기 위한 방법으로 엘가멀(ElGamal) 공개키 암호 방식을 타원 곡선상으로 확장할 때 메시지의 확장이나 평문의 제약성을 개선한 메시지 삽입 방식을 이용한다. 본 발명에서 이용하는 타원 곡선은 초특이 타원 곡선(super singular elliptic curve)에서는 MOV 축소라고 하는 특수한 해독 방법이 가능하므로 이를 방지하기 위하여 비초특이 타원 곡선(non-supersingular elliptic curve)을 이용한다. 초특이 타원 곡선이란, GF(p)(유한체, p는 소수)에서 일반적인 타원 곡선 ''위의 점의 개수는 #(단,)로 표현되는데,로 나누어 떨어지는 경우를 말하며, 그렇지 않은 경우를 비초특이 곡선이라 한다. 또한, 타원곡선이 정의된 유한체(,)(여기서,는 표수(characteristic)가 2가 아닌 소수이다)는 사용자가 자유롭게 선택하도록 한다. 한편, 해쉬함수는 MD5, SHA등과 같이 공개된 암호학적 해쉬함수를 사용하도록 한다.
수신자측의 복호화장치(200)는 타원곡선 파라미터, 즉 타원곡선이 정의될 유한체를 선택하고, 선택된 정의체에 따른 타원곡선을 선택한다. 개인키를 랜덤하게 생성하고, 타원곡선상의 임의의 점을 이용하여 공개키를 생성함으로써, 공개키 및 개인키 쌍을 생성한다. 공개키는 공개 게시판(300)에 게시하고, 개인키는 비밀키로서 보관한다. 수신자측의 복호화 장치(200)에서 생성된 공개키는 송신자측의 암호화 장치(100)에서 평문메시지를 암호화하는데 사용되고, 개인키는 암호화된 평문 메시지를 복호화하는데 사용된다.
송신자측의 암호화 장치(100)는 랜덤한 수(r)를 선택하여 평문 메시지를 암호화하여 생성된 암호문(S)을 통신 채널(350)을 통하여 수신자측으로 전송한다. 수신자측의 인증 검사부(210)는 송신자측의 암호화 장치(100)로부터 전송된 암호화된 평문 메시지의 암호문을 복호화 장치(200)에서 복호화하기 전에 개인키를 이용하여 암호문이 유효한지를 판단하고, 전송된 암호문이 유효한 경우에만, 복호화 장치(200)로 하여금 상술한 복호화를 수행하도록 한다. 이와 관련하여, 수신자측의 인증 검사부(210)는 복호화 장치(200)의 전단에 배치되어 암호문의 유효성을 인증하는 것으로 설명되고 도시되어 있지만, 인증 검사부(210)이 수신자측의 복호화 장치(200)의 후단에 배치되어 복호화 장치(200)에 의해 복호화된 평문에 대한 유효성을 검증하도록 구성될 수도 있을 것이다.
이하, 상술한 구성을 갖는 본 발명의 타원곡선 공개키 암호시스템의 동작은 도 4의 흐름도를 참조하여 보다 상세히 설명될 것이다.
먼저, 단계(500)에서, 수신자측의 복호화 장치(200)는 타원곡선 파라미터, 즉, 타원곡선이 정의될 유한체 또는 정의체(또는)를 선택한다.
그 다음 단계(510)에서, 복호화 장치(200)는 정의체의 일부를 타원 곡선()으로서 선택한다. 이때, 타원 곡선()이 비 초특이 곡선이 되도록 하면서, 타원 곡선()의 위수가 큰 소수()에 의해 나누어질 수 있게 한다. 정의체에 따라 타원 곡선()상의 점(point)들은 다항식 기저(polynomial basis) 또는 최적 정규 기저(optimal normal basis)를 사용하여 표시한다.
그 다음 단계(520)에서, 복호화 장치(200)는 타원 곡선(), 타원 곡선()의 위수를 나누는 큰 소수(), 그리고 타원 곡선()이 정의되는 정의체()를 포함하는 모든 변수들을 공개 게시판(300)에 개시한다.
그 다음 단계(530)에서, 복호화 장치(200)는 타원 곡선() 위의 임의의 두 점(,)을 랜덤하게 선택하고, 비밀키()(여기서,를 만족한다)를 랜덤하게 선택한다.
이후 단계(540)에서, 복호화 장치(200)는 ACCA에 대한 공격에 암호 시스템을 견딜 수 있게 하는 인증 코드(authentication code)의 역할을 하는 각각의 변수()를 하기 수학식 1, 2, 3과 같이 계산하고, 일방향 해쉬 함수(one-way hash function)()를 선택한다.
여기서, 함수가 일방향 성질을 가지고 있다는 것은 어떤 입력에 대한 함수값을 계산하기는 쉽지만,를 모르는 제3자가 함수값로부터를 계산하기가 계산량적으로 거의 불가능하다는 것을 나타낸다. 즉, 일방향 해쉬함수는를 만족하는를 찾는 것이 거의 불가능한 함수이다. 이러한 일방향 해쉬함수는 메시지에 대한 무결성(integrity)를 제공하는데 매우 중요한 성질을 제공한다.
그 다음, 복호화 장치(200)는 단계(530) 및 (540)에서 선택된 타원 곡선()상에서 선택된 두 점(,)과 개인키()를 이용하여 생성되는 변수들을 조합하여 공개키를 생성한다. 이렇게 생성된 공개키는 공개 게시판(300)에 게시하고, 개인키는 비밀키로서 보관한다(단계 550).
이후의 단계(560)에서, 송신자측의 암호화장치(100)에서는 난수()(여기서,를 만족함)를 랜덤하게 선택하여 하기 수학식 4 및 5와 같이 변수()를 계산한다.
여기서, 난수()는 송신자측에서 랜덤하게 암호화할 수 있도록 하는 변수이며, 변수()는 수신자측에서 암호문을 복호화할 때 사용되는 변수이다.
그 다음 단계(570)에서, 송신자측의 암호화 장치(100)는 평문(여기서,를 만족함)을 암호화하기 위한 전 단계로서 하기 수학식 6과 같이 암호화 계수를 계산하고, 계산된 암호화 계수를 이용하여 평문()을 하기 수학식 7과 같이 계산하여 암호화함으로써 암호화된 평문()을 생성한다.
그 다음 단계(580)에서, 하기 수학식 8에 따라 공개키의 일방향 해쉬를 계산한 값(α)을 계산하고, 계산된 값들()을 하기 수학식 9에 따라 계산함으로써 수신자측에서 암호문을 확인하는 데 사용되는, 즉 공개키 파라미터들이 전송도중 변조되었는 지를 확인하는 데 사용되는 수식()을 생성하며, 이들을 조합하여 암호문()(를 생성한다. 이렇게 생성된 암호문(S)는 통신 채널(350)을 통하여 수신자측으로 전송된다.
(는 연접)
수신자측의 인증 검사부(210)는 송신자측의 암호화 장치(100)로부터 전송된 암호문()의 유효성을 검증하기 위하여, 암호문()중의 변수()와 해시함수()를 이용하여 변수(α)를 하기 수학식 10과 같이 계산한 다음, 수신자측에서 생성된 비밀키를 사용하여 하기 수학식 11이성립하는 지를 판단한다(단계 590).
상술한 수학식 11이 성립하지 않는다면 송신자측의 암호화 장치(100)에서 전송된 암호문이 유효하지 않은 것으로 판단되어, 암호문을 버리기 위하여 'reject'란 메시지를 출력하고 암호문의 재전송을 요구한다.
그러나, 인증 검사부(210)에 의해 암호문()의 유효성이 확인되면, 수신자측의 복호화 장치(200)는 하기 수학식 12 및 13을 이용하여 암호문()를 계산하고, 이를 이용하여 평문()을 복원한다(단계 600).
상술한 본 발명의 이해를 돕기위하여 다음과 같은 일실시예를 통하여 본 발명의 작동원리 및 작동방법을 설명한다.
(1) 먼저, 수신자측의 복호화 장치(200)에서 선택된 타원곡선 파라미터가 (,,) 이라 가정한다.
(2) 수신자측의 복호화 장치(200)에서, 타원곡선()상의 두점,를 선택하고, 개인키( )를 선택한다.
(3) 수신자측의 암호화 장치(200)에서, 수학식 1, 2, 3으로부터,,를 계산한다.
(4) 그 다음에는 해쉬함수를 선택한다.
(5) 그러면, 공개키는와 같이 생성되며, 개인키는와 같이 생성된다.
(6) 송신자측의 암호화 장치(100)는 랜덤하게 선택한 변수에 대하여,를 계산한다.
(7)를 계산한 후, 평문, 예로,(이 점은위의 점이 아니지만 암호화가 아래 기술된 방식으로 가능하다. 즉, 평문을 암호화하기 위하여 타원 곡선 위의 점으로 평문을 대응시킬 필요가 없다)에 대하여 암호문을 계산한다.
(8) 그 다음,이라고 하면이다. 따라서, 암호문()은 (가 되고, 통신 채널(350)을 통하여 수신자측으로 전송된다.
(9) 수신자(200)의 인증 검사부(210)에서는 송신자측의 암호화 장치(100)로부터 전송된 암호문에 대하여, 유효성 검증을 수행하기 위하여 상술한 수학식 10으로부터을 계산하고, 수신자측의 비밀키를 이용하여 상술한 수학식 11로부터 를 계산하여 암호문의 유효성을 검증한다. 그러나, 수신자측의 인증 검사부(210)에 의한 암호문 유효성의 검증 결과가와 같지 않은 경우에는 암호문을 버리고 새로운 암호문을 전송하라는 명령을 송신자(100)측으로 전송한다.
(10) 수신자측의 복호화 장치(200)는 인증 검사부(210)에서 유효성을 인증한 결과에 따라 상술한 수학식 12로부터이고,를 계산하고, 수학식 13로부터를 계산하여 평문()을 복원한다.
그러므로, 본 발명에 따른 본 발명에서는 타원 곡선 암호 시스템을 이용하여암호문의 길이를 짧게 할 수 있다. 보다 상세히 말해서, 유한체에서의 이산대수문제를 기반으로 한 암호 시스템이 안전하기 위해서는 유한체를 정의하는 소수의 크기가 1024 비트가 되어야 한다. 그러나 타원곡선 위에서의 이산대수문제를 기반으로 한 암호 시스템에서는 타원 곡선군을 정의하는 소수의 길이가 160 비트면 안전하다는 것이 알려져 있다. 따라서 크래머-샤우프 공개키 암호 시스템에서 암호문의길이는 약비트이지만 본 발명에서의 암호문의 길이는 약비트로, 약 5배가 짧은 길이의 암호문을 이용하여 같은 정도의 안전도를 보장할 수 있다.
두 번째로, 크래머-샤우프 공개키 암호 시스템의 근간을 이루고 있는 디피헬만 결정 문제(유한체 상에서,는 고정된 유한체의 원소,는 임의의 정수라고 할 때로부터을 알아내는 것이 계산량적으로 불가능하다)는 타원곡선 상에서 더 어렵다는 것은 타원 곡선 상에 이산 대수 문제는 지수 시간의 문제로 분류되어 있어, 본 발명은 더 높은 강도의 안전성을 제공할 수 있다.

Claims (6)

  1. 타원곡선 상의 능동 암호문 선택 공격에 안전한 공개키 암호시스템의 구현방법에 있어서,
    수신측에서, 타원곡선을 정의하는 유한체(또는)(여기서,는 표수(characteristic)가 2가 아닌 소수)상에서 일부의 타원곡선()을 선택하는 단계;
    송신측에서, 상기 선택된 타원 곡선()상에서 개인키()와 공개키(여기서,는 상기 타원 곡선()상에서 선택된 임의의 점이고,은 변수이고,는 일방향 해시함수이며)의 쌍을 생성하는 단계;
    상기 송신측에서, 상기 수신자측에서 생성된 공개키를 이용하여 전송하고자 하는 평문을 상기 타원 곡선 상의 점들로 표현하여 암호화하는 단계;
    상기 수신측에서, 상기 송신측으로부터 전송된 암호문()(에 대하여 유효성을 검증하는 단계;
    상기 수신측에서, 유효성이 검증된 암호문()(을 상기 수신측의 개인키()를 이용하여 평문으로 복호화하는 단계를 포함하는 것을 특징으로 하는 타원곡선 상의 능동 암호문 선택 공격에 안전한 공개키 암호시스템의 구현방법.
  2. 제 1 항에 있어서, 상기 수신자측에서 공개키 및 개인키 생성단계는:
    상기 타원곡선()상의 임의의 두점(,)을 랜덤하게 선택하는 단계;
    상기 개인키()를 랜덤하게 생성하는 단계;
    상기 타원곡선()상에서 선택된 두 점(,)과 상기 개인키()를 이용하여 변수들(여기서,,,)을 계산하는 단계;
    상기 변수을 조합하여 상기 공개키를 생성하는 단계;
    상기 공개키를 공개하는 단계를 구비하는 것을 특징으로 하는 타원곡선 상의 능동 암호문 선택 공격에 안전한 공개키 암호시스템의 구현방법.
  3. 제 2 항에 있어서, 상기 송신자측에서 평문을 암호화하는 단계는:
    임의의 난수()(여기서,를 만족함)를 랜덤하게 선택하여 변수(, 및)(여기서,,)를 계산하는 단계;
    상기 평문을 암호화 계수(여기서,)를 이용하여 암호화함으로써 암호화된 평문(여기서,)을 생성하는 단계;
    상기 암호화된 평문을 포함하는 암호문()((여기서,,(는 연접))를 생성하는 단계를 구비하는 것을 특징으로 하는 타원곡선 상의 능동 암호문 선택 공격에 안전한 공개키 암호시스템의 구현방법.
  4. 제 3 항에 있어서, 상기 수신자측에서 암호문의 유효성 검증 단계는:
    상기 암호문()(에 대하여 변수()를 계산하는 단계;
    상기 수신자측의 개인키()를 사용하여 수학식이 성립하는 지를 판단하는 단계를 구비하는 것을 특징으로 하는 타원곡선 상의 능동 암호문 선택 공격에 안전한 공개키 암호시스템의 구현방법.
  5. 제 4 항에 있어서, 상기 수신자측에서 상기 암호문을 복호화하는 단계는:
    상기 암호문()()으로 부터 암호화 계수(여기서,)를 생성하는 단계;
    상기 생성된 암호화 계수를 이용하여 송신자측의 평문(여기서,)을 복원하는 단계를 구비하는 것을 특징으로 하는 타원곡선 상의 능동 암호문 선택 공격에 안전한 공개키 암호시스템의 구현방법.
  6. 제 1 항에 있어서, 상기 타원곡선은 비 초특이 곡선(non-supersingular elliptic curve)인 것을 특징으로 하는 타원곡선 상의 능동 암호문 선택 공격에 안전한 공개키 암호시스템의 구현방법.
KR1019990051244A 1999-11-18 1999-11-18 안전성이 증명가능한 타원곡선 공개키 암호화 시스템 KR100323799B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990051244A KR100323799B1 (ko) 1999-11-18 1999-11-18 안전성이 증명가능한 타원곡선 공개키 암호화 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990051244A KR100323799B1 (ko) 1999-11-18 1999-11-18 안전성이 증명가능한 타원곡선 공개키 암호화 시스템

Publications (2)

Publication Number Publication Date
KR20010000047A KR20010000047A (ko) 2001-01-05
KR100323799B1 true KR100323799B1 (ko) 2002-02-19

Family

ID=19620631

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990051244A KR100323799B1 (ko) 1999-11-18 1999-11-18 안전성이 증명가능한 타원곡선 공개키 암호화 시스템

Country Status (1)

Country Link
KR (1) KR100323799B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100396740B1 (ko) * 2000-10-17 2003-09-02 학교법인 한국정보통신학원 계산적 디피-헬만 가정에 기반하는 안전성 증명 가능한공개키 암호화 방법
KR100489327B1 (ko) * 2002-09-18 2005-05-12 학교법인 한국정보통신학원 겹선형 디피-헬만 문제에 기반한 네트워크 환경에서의개인 식별 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7174021B2 (en) * 2002-06-28 2007-02-06 Microsoft Corporation Systems and methods for providing secure server key operations
CN113938304B (zh) * 2021-10-14 2024-02-13 吉林大学 一种基于can总线的数据加密传输方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09214482A (ja) * 1996-02-01 1997-08-15 Nippon Telegr & Teleph Corp <Ntt> 公開鍵暗号方法及び公開鍵暗号通信システム
KR19990004237A (ko) * 1997-06-27 1999-01-15 김영환 비동기 전송 모드망에서의 데이터 암호화/복호화 장치 및 방법
KR19990021763A (ko) * 1997-08-30 1999-03-25 구자홍 키 생성 방법 및 장치와 그를 이용한 공개키 암호 시스템
KR19990070921A (ko) * 1998-02-26 1999-09-15 구자홍 행렬그룹 공개키와 그 생성방법
JPH11308211A (ja) * 1998-04-23 1999-11-05 Access:Kk 通信システムにおける楕円曲線暗号の運用方法
JPH11317734A (ja) * 1998-02-13 1999-11-16 Hitachi Ltd デ―タの暗号化復号化方法および、それを用いたネットワ―クシステム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09214482A (ja) * 1996-02-01 1997-08-15 Nippon Telegr & Teleph Corp <Ntt> 公開鍵暗号方法及び公開鍵暗号通信システム
KR19990004237A (ko) * 1997-06-27 1999-01-15 김영환 비동기 전송 모드망에서의 데이터 암호화/복호화 장치 및 방법
KR19990021763A (ko) * 1997-08-30 1999-03-25 구자홍 키 생성 방법 및 장치와 그를 이용한 공개키 암호 시스템
JPH11317734A (ja) * 1998-02-13 1999-11-16 Hitachi Ltd デ―タの暗号化復号化方法および、それを用いたネットワ―クシステム
KR19990070921A (ko) * 1998-02-26 1999-09-15 구자홍 행렬그룹 공개키와 그 생성방법
JPH11308211A (ja) * 1998-04-23 1999-11-05 Access:Kk 通信システムにおける楕円曲線暗号の運用方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100396740B1 (ko) * 2000-10-17 2003-09-02 학교법인 한국정보통신학원 계산적 디피-헬만 가정에 기반하는 안전성 증명 가능한공개키 암호화 방법
KR100489327B1 (ko) * 2002-09-18 2005-05-12 학교법인 한국정보통신학원 겹선형 디피-헬만 문제에 기반한 네트워크 환경에서의개인 식별 방법

Also Published As

Publication number Publication date
KR20010000047A (ko) 2001-01-05

Similar Documents

Publication Publication Date Title
CA2806357C (en) Authenticated encryption for digital signatures with message recovery
US6298153B1 (en) Digital signature method and information communication system and apparatus using such method
CA2808701C (en) Authenticated encryption for digital signatures with message recovery
Shoup Why chosen ciphertext security matters
US7221758B2 (en) Practical non-malleable public-key cryptosystem
EP2686978B1 (en) Keyed pv signatures
US20140082361A1 (en) Data encryption
KR100396740B1 (ko) 계산적 디피-헬만 가정에 기반하는 안전성 증명 가능한공개키 암호화 방법
KR20040009766A (ko) 암호 시스템에서 송수신 장치 및 방법
Mohamed et al. Elliptic curve signcryption with encrypted message authentication and forward secrecy
KR100323799B1 (ko) 안전성이 증명가능한 타원곡선 공개키 암호화 시스템
Purevjav et al. Email encryption using hybrid cryptosystem based on Android
KR100388059B1 (ko) 비대칭키 암호 알고리즘을 이용한 데이터 암호화 시스템및 그 방법
JPH07175411A (ja) 暗号システム
JP3694242B2 (ja) 署名付き暗号通信方法及びその装置
Sheth et al. Analysis of cryptography techniques
Yeun Design, analysis and applications of cryptographic techniques
Rabah Secure implementation of message digest, authentication and digital signature
JP3862397B2 (ja) 情報通信システム
Glushachenko Public key cryptosystems and their application in digital signature algorithms
KR940002699A (ko) 전자서명 및 인증방법
WO1998047260A2 (en) Publicly verifiable key recovery
Lam et al. Cryptography
Rahouma Utilization of multiple block cipher hashing in authentication and digital signatures
JP3870753B2 (ja) 第3のオラクルを考慮した公開鍵暗号方法

Legal Events

Date Code Title Description
A201 Request for examination
G15R Request for early publication
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090114

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee