KR0143598B1 - 하나의 비밀키를 이용한 다수의 신분인증 및 디지탈서명 생성과 확인방법 - Google Patents

하나의 비밀키를 이용한 다수의 신분인증 및 디지탈서명 생성과 확인방법

Info

Publication number
KR0143598B1
KR0143598B1 KR1019950010019A KR19950010019A KR0143598B1 KR 0143598 B1 KR0143598 B1 KR 0143598B1 KR 1019950010019 A KR1019950010019 A KR 1019950010019A KR 19950010019 A KR19950010019 A KR 19950010019A KR 0143598 B1 KR0143598 B1 KR 0143598B1
Authority
KR
South Korea
Prior art keywords
calculated
variable
mod
public key
verification
Prior art date
Application number
KR1019950010019A
Other languages
English (en)
Other versions
KR960039739A (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 KR1019950010019A priority Critical patent/KR0143598B1/ko
Publication of KR960039739A publication Critical patent/KR960039739A/ko
Application granted granted Critical
Publication of KR0143598B1 publication Critical patent/KR0143598B1/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/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
    • 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/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • 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/3247Cryptographic 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 digital signatures

Abstract

본 신분인증 및 디지탈 서명생성과 확인방법은 신뢰할 수 있는 센타로 부터 개인정보에 바탕을 둔 하나의 비밀키만을 발급하고, 발급된 비밀키를 이용하여 일회용 비밀키를 생성시켜 각 사용자가 응용환경에 따라 보다 유리한 방식으로 신분을 인증하거나 디지탈 서명을 생성 및 확인하기 위한 것이다. 이와 같은 목적을 달성하기 위하여 본 발명에서는 하나의 비밀키만으로 2개의 서로 다른 신분인증 프로토콜을 구성할 수 있도록 하여 스마트카드에 의한 일방향 신분인증에 매우 적합한 방식과 양방향의 신분인증이 요구되는 경우보다 효율적인 신분인증이나 디지탈서명을 생성 및 확인할 수 있는 효과가 있다.

Description

하나의 비밀키를 이용한 다수의 신분인증 및 디지탈서명 생성과 확인방법
제1도는 본 발명을 수행하기 위하여 신뢰할 수 있는 센타(Trusted Authority)에서 이루어지는 시스템 초기화과정을 나타낸 흐름도이고,
제2도는 본 발명에 따라 신뢰할 수 있는 센타와 각 사용자간의 비밀키 발급과정을 설명하기 위한 블럭도이고,
제3도는 제2도와 같은 과정을 통하여 발급된 하나의 비밀키를 이용하여 일회용 공개키를 생성하는 일실시예이고,
제4도는 제3도와 같이 생성된 일회용 공개키를 이용한 신분인증 프로토콜 처리예이고,
제5도는 제3도와 같이 생성된 일회용 공개키를 이용한 디지탈 서명 생성 및 확인 처리예이고,
제6도는 제2도와 같은 과정을 통하여 발급된 하나의 비밀키를 이용하여 일회용 공개키를 생성하는 다른 일실시예이고,
제7도는 제6도와 같이 생성된 일회용 공개키를 이용한 신분인증 프로토콜 처리예이고,
제8도는 제6도와 같이 생성된 일회용 공개키를 이용한 디지탈 서명 생성 및 확인 처리예이다.
본 발명은 공개키(Public Key) 암호 프로토콜에 관한 것으로, 특히 개인정보에 바탕을 둔 하나의 비밀키(Secret Key)를 이용하여 생성된 공개키를 사용하여 다수 방식의 신분인증 및 디지탈서명 생성과 확인을 구현하기 위한 방법에 관한 것이다.
공개키 암호 프로토콜은 모든 사용자들에게 공개되는 공개키를 이용하여 누구나 원하는 상대방과 메세지를 암호화하여 통신할 수 있도록 하는 규약으로서, 1976년 Diffie와 Hellman에 의해 공개키 암호 시스템(Public Key Cryptosystem)이 제안된 바 있다. 이 공개키 암호시스템은 누구에게나 공개된 공개키를 이용하여 통신을 원하는 상대방과 통신할 메세지를 암호화하여 송수신할 수 있으므로 관용 암호시스템(Conventional Cryptosystem)에서 통신을 하고자 하는 두 사용자가 공통의 비밀키를 소유해야 하는 키분배 문제는 해결하였으나, 입수한 상대방의 공개키가 진정으로 통신을 원하는 자의 공개키인지를 확인하는 것이 필수적이므로 신뢰할 수 있는 공증기관을 통한 공개키에 대한 인증작업이 요구되었다.
이러한 공개키 인증문제를 해결하기 위하여, 1984년 Shamir는 개인정보에 기초한 암호시스템(ID-based Cryptosystem)을 제안하였다. 즉, 누구나 알수 있고 또한 그 사용자를 유일하게 식별해 줄 수 있는 주소, 성명, 주민등록번호 등과 같은 개인정보를 공개키로 이용하는 것이다. 이 암호시스템은 모든 사용자들이 전적으로 신뢰할 수 있는 센타(Trusted Authority)의 존재를 가정하며, 이 센타에서 각 사용자들의 시스템가입시 그의 ID와 센타의 비밀정보를 이용하여 비밀키를 생성, 각 사용자에게 발급하게 된다. 각 사용자들은 일단 센타로 부터 자신의 비밀키를 발급받은 이후에는 더 이상 센타와의 통신은 필요없게 되며 상대방의 ID와 센타의 공개정보만을 이용하여 각종 암호프로토콜들을 수행할 수 있도록 되어 있다.
이러한 공개키 암호시스템으로 가장 널리 연구되어온 분야중 하나가 신분인증 및 디지탈 서명을 생성/확인하는 프로토콜을 설계하는 것으로, 이러한 신분인증 및 디지탈서명방식으로서 인증서에 기초한 대폭적인 방식은 Schnorr방식이며, 개인정보에 기초한 대표적인 방식은 Guillou-Quisquater방식이다. Schnorr방식은 증명자나 검증자의 실시간 계산량이 거의 없으므로 스마트 카드에 의한 신분인증이나 서명생성에 매우 적합하나 대신 검증자의 계산량은 상당히 많은 편이다. 반면, Guillou-Quisquater방식은 증명자(서명자)나 검증자의 계산량을 동시에 가능한 최소한으로 줄인 것으로 쌍방간의 신분인증이나 서명의 생성 및 검증이 동시에 요구되는 경우 Schnorr방식에 비해 유리한 편이다. 이러한 방식간의 효율성의 차이로 인해 한가지 방식으로 모든 응용환경에서 효율적인 성능을 얻기 어려운 문제가 있었다.
따라서 본 발명의 목적은 신뢰할 수 있는 센타에 의해 발급된 개인정보에 기초한 하나의 비밀키만으로 상술한 Schnorr 및 Guillou-Quisquater와 유사한 다수 방식들에 대한 신분인증 및 디지탈 서명/확인을 할 수 있도록 구현하여 적용환경에 따라 보다 유리한 방식을 선택적으로 사용할 수 있도록 하기 위한 신분인증 및 디지탈 서명/확인방법을 제공하는데 있다.
상기 목적을 달성하기 이하여 본 발명에 따른 신분인증방법은, 신뢰할 수 있는 센타의 시스템 초기화에 의하여 생성된 공개정보 n,e와 공개 개인정보 IDA를 이용하여 생성된 하나의 비밀키 SA를 이용하여 사용자와 응용시스템간의 신분인증을 하기 위한 방법에 있어서; 사용자측에서 소정의 난수 r1, r2를 선택하는 과정; 상기 r1, r2의 난수가 선택되면, 정해진 규칙에 의하여 공개키 인증서 v 및 상기 난수값을 위탁하기 위한 변수 x를 계산하는 제1계산과정; 상기 제1계산과정에서 계산된 v와 x 및 상기 시스템초기화에 의하여 공개된 정보 n,e,IDA값을 상기 응용시스템측으로 전송하는 제1전송과정; 상기 전송과정을 통하여 상기 값들이 전송되면, 상기 응용시스템은 신분인증을 위한 질문변수 c를 선택하여 상기 사용자측으로 전송하는 제2전송과정; 상기 제2전송과정에서 전송된 상기 c값과 상기 난수 r1, r2를 이용하여 상기 질문변수에 대한 응답변수 y를 계산하는 제2계산과정; 상기 제2계산과정에서 계산된 응답변수 y를 상기 응용시스템측으로 전송하는 제3전송과정; 상기 제3전송과정에서 전송된 상기 응답변수 y와 상기 제1전송과정에서 전송된 상기 v,x,n,e,IDA값을 이용하여 공개키 w를 계산하고, 정해진 검증조건을 만족하는지를 체크하는 과정을 포함함을 특징으로 한다.
또한 상기 목적을 달성하기 위한 본 발명에 따른 디지탈 서명 생성 및 확인방법은, 신뢰할 수 있는 센타의 시스템 초기화에 의하여 생성된 공개정보 n,e와 공개 개인정보 IDA를 이용하여 생성된 하나의 비밀키 SA를 이용하여 사용자와 응용시스템간의 디지탈 서명생성 및 확인방법에 있어서; 상기 사용자측에서 소정의 난수 r1, r2를 선택하는 과정; 상기 r1, r2의 난수가 선택되면, 정해진 규칙에 의하여 공개키 인증서 v 및 상기 난수값을 위탁하기 위한 변수 x를 계산하는 제1계산과정; 서명하고자 하는 메시지 m과 상기 제1계산과정에서 계산된 x값을 이용하여 해쉬한 값 c1을 계산하는 제2계산과정; 상기 제2계산과정에서 계산된 해쉬한 값 c1중 t비트 크기의 c1'를 계산하는 제3계산과정; 상기 제3계산과정에서 계산된 c1'값과 상기 난수 r1, r2값을 이용하여 응답변수 y를 계산하는 제4계산과정; 상기 제1 내지 제4계산과정에서 계산된 상기 v, c1, y값과 상기 사용자측에서 보유하고 있는 상기 개인정보 IDA와, 상기 m값을 상기 검증차측으로 전송하는 디지탈서명 생성과정; 상기 디지탈서명 생성과정에 의하여 전송된 상기 변수들이 인가되면, 상기 응용시스템은 정해진 규칙에 의하여 공개키 w, 상기 c1'변수, 확인변수 x'를 계산하는 제5계산과정; 상기 제5계산과정에서 계산된 확인변수 x'와 전송된 메세지 변수 m을 해쉬한 c2값을 계산하는 제6계산과정; 상기 제6계산과정에서 계산된 해쉬한 c2값과 상기 사용자측에서 전송된 상기 해쉬한 c1값의 동일성여부를 체크하여 디지탈서명을 확인하는 과정을 포함함을 특징으로 한다.
이어서 첨부된 도면을 참조하여 본 발명에 따른 실시예를 상세하게 설명하기로 한다.
우선 본 발명에 따른 신분인증 및 디지탈 서명 생성과 확인방법을 수행하기 위하여 신뢰할 수 있는 센타(공증기관, 이하 센타라 함)에서는 제1도에 도시된 바와 같이 시스템 초기화를 수행하게 된다.
즉, 제100단계에서 신뢰할 수 있는 센타는 256비트 이상의 큰 소수 p,q를 발생시킨 뒤, 제101단계로 진행하여 발생된 p,q값의 곱에 의한 합성수 n(=pq)을 계산한다. 그리고 제102단계로 진행되어 p-1과 q-1의 최소공배수인 λ(n)를 계산한다. 그 다음, 제103단계로 진행되어 λ(n)과 서로소인 작은 소수 e를 선택한다. 여기서 e은 선택된 값이 작을 수록 신분인증 및 디지탈 서명방식에서의 계산량을 줄일 수 있으므로 선택될 수 있는 e값으로는 3정도가 적합하다. 만일 소수 p,q가 p=3 mod 8, q=7 mod 8을 만족하도록 선택된다면 e=2를 택할 수도 있다. 이와 같이 계산 및 선택된 n과 e값은 모든 사용자에게 공개되는 센타의 공개정보로 구성된다.
그 다음 제104단계로 진행되어 ed=1 mod λ(n)을 만족하는 정수인 d를 계산하여(만일 상술한 바와 같이 e=2, p=3 mod 8, q=7 mod 8이라면 d=(n-p-q+5)/8에 의하여 계산하여) 센타의 비밀키로 삼는다. 여기서 d를 계산한 후에는 두 소수 p,q를 폐기해도 무방하다. 그리고 제105단계로 진행되어 n,e값을 모든 사용자에게 공개하면서 센타의 시스템 초기화는 종료된다.
이와 같이 센타의 시스템 초기화가 이루어진 후, 시스템에 가입하고자 하는 각 사용자가 센타를 방문하여 자신의 신원을 확인받은후 센타로 부터 공개키 생성, 신분인증, 디지탈서명 생성 및 확인을 위한 비밀키를 발급받아야 한다.
제2도는 특정 사용자 A, 센타(201) 및 스마트 카드(202)로 구성되어 사용자 A가 본 발명에 따른 방법을 수행할 수 있도록 상술한 바와 같이 시스템이 초기화된 센타(201)로 부터 스마트카드(202)를 통해 비밀키를 발급받는 과정을 설명하기 위한 도면이다.
즉, 시스템에 가입하고자 하는 사용자 A는 센타(201)를 방문하여 정해진 개인정보(예를 들어 주소, 성명, 주민등록번호, 전화번호 등과 같은 정보)를 센타(201)에 제공한다.
센타(201)는 사용자 A에 의해 인가된 개인정보를 이용하여 신원을 확인한 후, 정해진 규칙에 따라 구조화된 개인정보 IDA를 생선한다. 이때 IDA는 인가된 개인정보를 이용하여 생성된다. 센타(201)는 생성된 IDA를 이용하여 사용자 A의 비밀키 SA를 SA eIDA=1 mod n 조건에 만족하도록 다음과 같이 계산한다.
SA= IDA -dmod n
그 다음 센타(201)는 계산된 비밀키 SA와 공개키 IDA를 스마트 카드(202)를 통해 사용자 A에게 전해준다. 즉, 입력된 개인정보에 의하여 생성된 사용자 A의 공개키 IDA정보, 시스템초기화시 공개정보로서 형성된 공개정보들(n,e)과 IDA와 상술한 공개정보들에 의하여 계산된 비밀키 SA를 스마트카드(202)에 기록하고, 사용자 A에게 해당되는 스마트카드(202)를 발급하여 센타(201)로 부터 사용자 A에게 비밀키를 발급하는 작업을 종료한다.
이와같이 비밀키 SA를 발급받은 사용자 A가 본 발명에 따른 신분인증이나 디지탈서명 생성 및 확인을 위한 프로토콜에 사용할 일회용 공개키를 생성하는 일실시예를 제3도에 도시하였다.
제3도는 상술한 스마트카드(202)와 카드리더(도시되지 않음, 여기서 카드리더는 설명의 편의상 스마트카드(202)를 이용하는 응용 시스템의 일예를 든 것으로 다른 응용시스템이 될 수 있다.)를 통하여 veIDAmod n = g-er1mod n을 일회용 공개키로 생성하는 예로서, 사용자 A가 자신의 스마트카드(202)를 수신측인 카드리더에 장착하면, 스마트카드(202)는 내장된 난수발생기(도시되지 않음)를 이용하여 k비트(여기서 k는 안정성을 위하여 최소한 140이상의 되어야 한다)의 랜덤한 수 r을 선택한 후, 자신의 비밀키 SA를 이용하여 하기 (2)와 같은 식에 의하여 v값을 계산한다.
v = SAg-rmod n
여기서 v는 일회용 공개키 인증서로서, 매 프로토콜마다 생성시켜 사용할 수도 있고, 필요하다면 한번 계산하여 송신자측인 스마트카드(202)에 저장한 후 원하는 만큼 반복 사용할 수도 있다. 그리고 상술한 (2)식에서의 g는 정수링 Zn= 0, 1, ..., n-1상의 가능한 많은 원소를 발생시키는 기본원소로 센타(201)에 의해 발생되어 공개되는 수로서, 주로 시스템초기화시 선택되어 스마트카드(202)에 저장되나 선택시기는 임의적으로 결정할 수 있어 상술한 시스템초기화과정 설명시 g의 선택과정을 언급하지 않았다.
상술한 v값이 계산되면, 스마트카드(202)는 자동적으로 수신자측인 카드리더(도시되지 않음)로 계산된 v값과 기록되어 있던 자신의 구조화된 개인정보 IDA를 전송한다. 이에 따라 수신자측인 카드리더는 하기 (3)식에 의해 공개키 w를 계산한다.
w = veIDAmod n = g-ermod n
이로써, 상술한 w를 사용자 A가 선택한 난수 r에 대응하는 공개키로 사용하게 되고, 이 후로 사용자 A는 다른 공개키 암호 프로토콜(예를 들어 후술하는 신분인증이나 디지탈 서명 등)에서 r을 일회용 비밀키로 사용할 수 있게 된다. 따라서 상기 (3)식 veIDAmod n = g-ermod n를 만족하는 r은 비밀키 SA를 알고 있는 사용자 A만이 알 수 있다.
이와 같이 생성된 공개키 w를 이용하여 본 발명에 따른 신분인증 프로토콜은 제4도와 같이 처리된다.
즉, 제4도는 상기 (3)식을 통하여 생성된 공개키 w를 일회용 공개키로 이용하여 자신의 신분을 응용시스템(상술한 카드리더와 같이 스마트카드를 이용할 수 있는 시스템)에 증명하는 과정을 나타낸 것이다. 여기서 자신의 신분을 증명하는 것은 곧 비밀키 SA를 알고 있다는 것을 증명하는 것이며, 이는 곧 공개키 w를 만족하는 r값을 알고 있다는 것을 증명하는 것과 같다.
이와 같은 신분인증을 위하여, 사용자 A는 상술한 바와 같이 자체 난수발생기능을 이용하여 두 랜덤수 r1, r2를 선택한다. 이 때 선택되는 r1은 k비트의 난수이고, r2는 k+t비티의 난수이며, t는 증명의 안전도를 결정하는 변수로서, 보통 20에서 40사이의 수이다. 여기서 r1과 r2를 서로 다른 크기로 선택한 것은 후술한 검증자인 응용시스템으로 부터의 질문에 대한 응답 y값 계산시 r1에 대한 일부 정보를 누출시키는 것을 막기 위함이다. r1, r2가 사용자 A에 의하여 선택되면, 하기 (4)식과 같이 정해진 규칙에 의하여 공개키 인증서인 v값과 x값이 계산된다.
v = SAg-r1mod n, x = ger2mod n
여기서 상술한 x는 x값을 계산하기 위하여 사용된 난수인 r2값을 위탁(commit)하기 위한 것이다. 이와 같이 계산된 v값과 x값은 미리 저장되어 있던 IDA와 함께 검증자인 응용시스템측으로 전송된다. 이때 v와 x값은 프로토콜의 빠른 수행을 위하여 사전에 계산한 뒤, 저장하여 상술한 바와 같은 계산과정을 거치지 않고 저장된 값을 읽어 검증자측으로 전송할 수 있다.
IDA, v, x값이 증명자인 사용자 A(본 예에서는 스마트카드(202)가 될 것이다. 이하 증명자라 함)로 부터 검증자인 응용시스템(이하 검증자라 함)에 전송되면, 검증자는 t비트수 c를 랜덤하게 선택하여 증명자에게 전송한다. 여기서 c는 검증자가 현재 증명을 원하는 자를 검증하기 위한 질문에 해당하는 데이타이다.
이에 따라 증명자측은 상술한 과정에서 인가된 r1, r2와 검증자가 전송한 c값을 이용하여 하기 (5)식과 같이 질문 c에 대한 응답 y값을 계산하여 검증자에게 전송한다.
y = r2 + r1*c
이에 따라 검증자는 우선, 증명자로 부터 받은 v와 IDA값을 이용하여 하기 (6)식과 같이 정해진 규칙에 의하여 공개키 w를 계산한다.
w = veIDAmod n
그리고 전송된 응답 y값을 이용하여 하기 (7)식에 의하여 검증변수인 x'를 계산한다.
x' = geywcmod n
그리고 증명자로 부터 전송된 상술한 변수 x값과 (7)식에서 계산된 검증변수 x'값이 동일한 값인 지를 검사한다. 이때 두값이 동일하면, 증명자인 사용자 A가 IDA에 명시된 사용자임이 확인된 것이다. 그러나 두값이 동일하지 않으면, 증명자인 사용자 A는 제3자로 판명되어 검증자인 응용시스템은 증명을 기각한다.
상술한 신분인증 프로토콜에서 비밀키 SA를 모르는 제3자가 상술한 (7)식에 의한 검증을 통과할 확률은 대략 2-t정도이다. 여기서 안전변수 t는 응용시스템에 따라 다르게 결정될 수 있다. 예를 들어 통제지역 출입시 신분인증과 같은 근접 인증의 경우, 신분인증이 실패할 때는 증명자인 사용자 A가 현장에서 체포될 수 있으므로 대략 10-6(즉 t=20)정도의 안전도이면 대부분의 응용에서는 충분할 것이다. 반면 컴퓨터 통신망에서의 실체 인증(Entity authentication)과 같이 익명의 두 사용자가 통신망을 사이에 두고 원거리에서 서로를 확인하고자 하는 경우에는 자신의 신분이 노출되지 않으면서도 원하는 만큼의 반복 시도가 가능하므로 보다 높은 안전도가 요구된다. 이 경우 역시 보호하고자 하는 대상에 따라서 차이가 있겠으나 대략 10-9(t=30)이상의 안전도는 보장되어야 한다.
이와 같이 신분인증이 처리되는 경우 검증자가 전송한 질문 c에 대한 응답 y값에 대한 계산시, 상술한 (5)식과 같이 단순한 산술연산을 통해 계산함으로써 계산량을 극소화하여 스마트카드(202)를 이용한 신분인증시 매우 유용하게 사용될 수 있고, 검증자인 응용시스템측의 경우에는 응답 y값이 전송된 후, 상술한 (6)식, (7)식과 같은 상당한 수의 모듈랴 곱셈을 수행해야 하는데(즉, 모듈라 멱승을 계산하는 표준적인 방법인 이진 알고리즘을 이용할 경우, e=3, t=20, k=140에 대해 약 220번 정도의 모듈라 곱셈이 요구된다.). 일반적으로 검증자측인 응용시스템은 메모리나 계산력에 있어서 거의 제약을 받지 않으며 모듈라 멱승용의 특수 하드웨어나 DSP(Digital Signal Processor)칩 등을 내장하는 경우가 많으므로 위의 프로토콜에서 요구되는 계산정도는 거의 문제가 되지 않는다. 따라서 제4도에서 제시한 신분인증 프로토콜은 증명자의 경우에는 거의 계산부담이 없는 반면 검증자에게는 상당한 량의 계산이 필요하므로 스마트 카드와 카드리더를 이용한 신분인증 시스템에 적용할 때 특히 유리한 이점이 있으며 그외의 시스템에도 적용이 가능하다.
제5도는 제4도와 같은 신분인증 프로토콜에 대한 디지탈 서명의 생성 및 확인과정을 나타낸 예로서, 비대화형 방식에 의한 것이다.
우선 디지탈 서명을 위해서는 임의의 길이의 메세지 m을 일정한 길이의 랜덤한 값으로 압축시켜 주는 일방향 해쉬함수 h가 필요하다. 여기서 서명의 안정성을 위해서 해쉬함수 h의 출력길이는 최소한 128비트의 이상은 되어야 한다. 제5도에 의한 디지탈 서명의 생성 및 확인과정은 다음과 같다.
우선, 서명자인 사용자 A(이하 서명자라 함)는 상술한 바와 같이 내부에 구성된 미도시된 난수발생기를 통하여 두 랜덤수 r1, r2를 선택하고, 상술한 제4도의 신분인증 프로토콜에서 이루어진 (4)식과 같은 규칙에 의하여 공개키 인증서 v와 변수 x값을 계산한다. 그리고 변수 x계산에 이용되는 난수 r2를 나타내는 비트중 t값은 80정도의 수가 된다.
계산된 x와 서명하고자 하는 메세지 m을 연쇄시켜 해쉬한 c1=h(x∥m)을 계산한다. 서명자는 해쉬값 c1의 하위 t비트 c1'를 하기 (8)식과 같이 취한다. 여기서 c1'를 구할 때 하위 t비트를 이용한 것은 연산처리를 간단하게 하기 위한 하위 t비트를 사용한 것이나 반드시 하위 t비트를 선택할 필요는 없다.
c1' = c1 mod 2t
그리고 상술한 두 랜덤수 r1, r2와 c1'를 이용하여 하기 (9)식과 같이 응답 y1값을 계산한다.
y1 = r2 + r1*cl'
서명자는 미리 저장하고 있던 값들과 상술한 (8)과 (9)식에 의하여 검출된 값 IDA, v, c1, y1, m을 검증자인 응용시스템측으로 전송한다. 서명자로 부터 IDA, v, c1, y1, m을 받은 검증자는 다음과 같은 과정에 의해 생성된 서명을 확인한다.
즉, 검증자는 인가된 IDA, v, c1, y1, m를 이용하여 c1'=c1 mod 2t, 상술한 (6)식과 같이 계산구조를 갖는 공개키 w와 하기 (10)식과 같은 계산구조를 갖는 확인변수 x를 차례로 계산한다.
x = geywcl'mod n
그리고 x와 m을 연쇄시켜 해쉬한 해쉬값 c2를 하기 (11)식과 같이 계산한다.
c2 = h(x∥m)
c2값이 계산되면, 계산된 c2값과 서명자로부터 전송된 해쉬값 c1을 비교하여 동일한 값을 갖는 지를 검사한다. 만일 두 값이 같으면, 메세지 m에 대한 서명 c1, y1이 IDA에 명시된 사용자 A에 의해 생성된 것임이 확인된 것이다. 그러나 두 값이 같지 않으면 서명을 기각한다. 이와 같이 디지탈 서명방식은 비대화방식으로 이루어지므로 작은 t에 대해서는 쉽게 서명을 위조할 수 있으므로 t는 상술한 바와 같이 약 80정도(280)로 설정되어야 한다.
한편, 제6도는 일회용 공개키를 veIDAmod n = r-eLmod n로 생성하는 다른 실시예로서, 송신자측인 사용자 A(상술한 제3도에서와 같이 스마트 카드를 이용할 수 있으나 여기서는 송신자라 함)는 0과 n범위내에서 랜덤하게 r을 선택하면, 송신자측은 자체적으로 하기 (12)식과 같이 정해진 규칙에 의하여 공개키 인증서 v를 계산한다.
v = SAr-Lmod n
그리고 상술한 (12)식에서와 같이 계산된 공개키 인증서 v와 IDA를 수신자측으로 전송하고, 수신자측에서는 상술한 바와 같이 정해진 규칙에 의하여 공개키 w를 하기 (13)식과 같이 계산한다.
w = veIDAmod n = r-eLmod n
이와 같이 생성된 공개키 veIDAmod n = r1-eLmod n을 일회용 공개키로 이용하는 본 발명에 따른 신분인증 프로토콜은 제7도와 같이 처리된다.
즉, 제7도의 신분인증 프로토콜은 사용자 A가 veIDAmod n = r1-eLmod n을 만족하는 비밀 난수 r1을 알고 있다는 것을 증명하는 것으로, 프로토콜의 진행과정은 제4도와 유사하게 이루어진다.
제7도를 참조하여 좀더 상세하게 설명하면 다음과 같다. 증명자인 사용자 A(이하 증명자라 함)가 제4도에서와 같은 방식으로 0과 n사이의 두 랜덤수 r1, r2를 선택하면, 증명자측은 자체적으로 하기 (14)식과 같이 공개키 인증서 v와 변수 x값을 계산한다.
v = SAr1-Lmod n, x = r2-eLmod n
여기서 계산된 v와 x도 제4도에서 상술한 바와 같이 매 프로토콜 실행시마다 계산하지 않고 한번 계산한 후, 저장시켜 다음 프로토콜 실행시 계산과정없이 저장된 값을 그대로 전송하여 사용할 수 있다. 그러나 x는 매 프로토콜마다 새로이 계산해야 하나 이 또한 프로토콜의 특정한 실행과는 무관하므로 사전에 계산하여 저장한 두 바로 사용할 수 있다. 증명자측에서는 이와 같이 계산된 x와 v값과 IDA를 검증자측으로 전송한다. 여기서 공개 승수 L은 상술한 t와 같이 증명의 안전도를 결정하는 안전변수이다.
검증자는 O과 L사이에서 랜덤하게 선택한 질문변수인 c2, c3를 증명자에게 전송한다. 증명자는 사용한 두 랜덤수 r1, r2와 검증자로부터 받은 c2, c3를 이용하여 질문에 대한 응답변수 y를 하기 (15)식과 같이 계산하여 검증자에게 전송한다.
y = r1c2r2c3mod n
검증자는 전송된 v와 IDA를 이용하여 공개키 w를 상기 (13)식에서와 같이 계산한다.
그리고 전송된 응답변수 y를 이용하여 하기 (16)식과 같은 등식이 성립하는 지를 검사한다.
yeLwc2xc3= 1 mod n
등식이 성립되면, 증명자가 IDA에 명시된 사용자 A임이 확인된 것이고, 그렇지 않으면 증명자는 사용자 A를 가장한 제3자이므로 증명을 기각한다.
이와 같은 신분인증방식에서 비밀키 SA를 모르는 제3자가 검증과정인 상기 (16)식을 통과할 확률은 약 2-2L정도라는 것이다. 이는 검증자에 의한 2개의 질문 c2, c3를 동시에 예측하는 방법외에는 검증과정을 통과할 수 없다는 사실에 기인한다. 따라서 2-20정도의 안정성을 위채서 L은 약 10비트 정도의 수이면 된다. 계산량을 보면 증명자의 경우 x와 v는 사정에 계산하여 저장해 둘 수 있으므로 실시간으로 필요한 계산은 y를 얻는데 필요한 약 1.75|L|번 정도의 모듈라 곱셈이다. 검증자의 경우는 약 1.875|L| + 8번 정도의 모듈랴 곱셈이 필요하다(|L|은 L의 비트길이를 나타내며 e=3으로 가정). 제4도의 신분인증 프로토콜에서 t=20인 경우와 같은 정도의 안전성을 위해서 본 신분인증 프로토콜은 |L|=10으로 설정하면 되는데, 이와 같이 설정되는 경우 증명자는 약 18번, 검증자는 27번 정도의 모듈라 곱셈이 요구된다. 이와 같은 신분인증 프로토콜은 증명자나 검증자 모두 비교적 적은 량의 계산이 요구되므로 쌍방간에 신분인증이 요구되는 경우에 유리한 이점이 있다.
그리고 제7도와 같은 증명자와 검증자간의 대화형 신분인증 프로토콜은 영지식 증명기술(Zero-knowledge proof technique)에 바탕을 둔 신분인증 프로토콜에서 처럼 쉽게 디지탈 서명방식으로 변환시킬 수 있다. 이는 제4도의 경우도 마찬가지이다.
제7도와 같은 신분인증 프로토콜에 대한 디지탈서명 생성 및 확인과정은 제8도에 제시된 바와 같은 비대화형 방식으로 구현될 수 있다.
우선, 디지탈 서명을 생성하기 위하여 서명자인 사용자 A(이하 서명자라 함)가 0과 n사이에서 두 랜덤수 r1, r2를 선택하면, 자체적으로 상술한 (14)식과 같은 규칙에 의하여 공개키 인증서 v와 변수 x를 계산한다. 여기서 L은 약 80비트정도의 수이다.
그리고 서명자는 계산한 x와 서명하고자 하는 메세지 m을 연쇄시켜 상술한 제5도에 제시된 서명생성방식에서와 같이 해쉬값 c1를 계산한다.
그리고 서명자는 해쉬값 c1으로 부터 c1'를 구할 때, c1'가 L보다 클 필요가 전혀 없다는 것을 고려하여 c1중 L정도 크기의 c1'를 취하고(즉, c1'=c1 mod L) 상술한 두 랜덤수 r1, r2를 이용하여 응답변수 y2를 하기 (17)식과 같이 계산한다.
y2 = r2r1cl'mod n
서명자는 저장되어 있던 값들과 계산된 값 IDA, v, c1, y1, m을 검증자에게 전송한다.
서명자로부터 IDA, v, c1, y1, m를 받은 검증자는 다음과 같은 과정에 의하여 생성된 서명을 확인한다.
우선 하기 (18)식과 같이 변수 c1', 공개키 w, 확인변수 x'값을 차례로 계산한다.
c1' = c1 mod L, w = veIDAmod n, x' = yeLwcl'mod n
검증자는 (c1'∥m)에 대한 해쉬값(c2)을 계산하여 그 결과가 서명자로 부터 전송된 c1와 같은지를 검사한다. 만일 두 값이 같으면 메세지 m에 대한 서명 c1, y2가 IDA에 명시된 사용자 A에 의해 생성된 것임이 확인된 것이다. 그렇지 않으면 서명을 기각한다.
이와 같이 제5도에 도시된 바와 같은 서명생성 및 확인방식은 서명자에게 요구되는 계산량이 거의 없는 반면 검증자에게는 상당히 많은 양의 계산이 요구된다. 따라서 스마트 카드에 의한 서명의 생성 및 카드리더에 이한 서명의 검증이 이루어질 경우에 매우 적합한 반면, 제8도의 서명 생성 및 확인방식은 서명자나 검증자 모두 비교적 많은 양의 계산이 요구되나 서명의 생성과 검증이 동시에 요구되는 환경에서는 제5도의 서명방식보다 유리할 수 있다.
상술한 바와 같이 본 발명은 하나의 비밀키만을 이용하여 반복사용이 가능한 여러 종류의 일회용 공개키를 생성시킴으로써 응용환경에 따라 보다 효율적인 신분인증이나 디지탈 서명방식을 선택적으로 사용할 수 있는 효과가 있다.

Claims (26)

  1. 신뢰할 수 있는 센타의 시스템 초기화에 의하여 생성된 공개정보 n,e와 공개 개인정보 IDA를 이용하여 생성된 하나의 비밀키 SA를 이용하여 사용자와 응용시스템간의 신분인증을 하기 위한 방법에 있어서; 상기 사용자측에서 난수발생기능을 이용하여 소정의 난수 r1, r2를 선택하는 과정; 상기 r1, r2의 난수가 선택되면, 정해진 규칙에 의하여 공개키 인증서 v 및 상기 난수값을 위탁하기 위한 변수 x를 계산하는 제1계산과정; 상기 제1계산과정에서 계산된 v와 x 및 상기 시스템초기와에 의하여 공개된 정보 n,e,IDA값을 상기 응용시스템측으로 전송하는 제1전송과정; 상기 전송과정을 통하여 상기 값들이 전송되면, 상기 응용시스템은 신분인증을 위한 질문변수 c를 선택하여 상기 사용자측으로 전송하는 제2전송과정; 상기 제2전송과정에서 전송된 상기 c값과 상기 난수 r1, r2를 이용하여 상기 질문변수에 대한 응답변수 y를 계산하는 제2계산과정; 상기 제2계산과정에서 계산된 응답변수 y를 상기 응용시스템측으로 전송하는 제3전송과정; 상기 제3전송과정에서 전송된 상기 응답변수 y와 상기 제1전송과정에서 전송된 상기 v,x,n,e,IDA값을 이용하여 공개키 w를 계산하고, 정해진 검증조건을 만족하는지를 체크하는 과정을 포함함을 특징으로 하는 신분인증방법.
  2. 제1항에 있어서, 상기 검증조건 체크과정은, 상기 공개정보들, 상기 공개정보중 하나로서 가능한 많은 원소를 발생시키는 기본원소인 g 및 상기 공개키정보를 이용하여 하기 식과 같이 검증변수 x'를 계산하는 단계;
    x' = geywcmod n
    계산된 검증변수 x'와 상기 제1전공과정에서 전송된 x값이 동일한지 여부를 체크하는 단계를 포함함을 특징으로 하는 신분인증방법.
  3. 제2항에 있어서, 상기 제1계산과정에서의 상기 공개키 인증서 v와 변수 x는 하기 식과 같은 규칙에 의하여 계산됨을 특징으로 하는 신분인증방법.
    v = SAg-r1mod n, x = ger2mod n
  4. 제3항에 있어서, 상기 제2계산과정에서의 응답변수 y는 하기 식과 같은 산술연산에 의하여 계산됨을 특징으로 하는 신분인증방법.
    y = r2 + r1c
  5. 제3항에 있어서, 상기 제3계산과정에서의 계산된 상기 공개키 w는 하기식과 같은 규칙에 의하여 계산됨을 특징으로 하는 신분인증방법.
    w = veIDAmod n
  6. 제5항에 있어서, 상기 난수 r1은 k비트로 표현되고, 상기 난수 r2는 k+t비트로 표현되면, 상기 난수 c는 t비트로 표현되도록 설정됨을 특징으로 하는 신분인증방법.
  7. 제1항에 있어서, 상기 제2전송과정에서 선택되는 질문변수를 c1, c2를 선택하여 전송함을 특징으로 하는 신분인증방법.
  8. 제7항에 있어서, 상기 검증조건 체크과정은, 상기 공개 정보들과 공개키 정보를 이용하여 하기 식과 조건이 성립하는지 여부를 체크함을 특징으로 하는 신분인증방법.
    yeLwc1xc2= 1 mod n
  9. 제8항에 있어서, 상기 제1계산과정에서 상기 공개키 인증서 v와 변수 x는 하기 식과 같은 규칙에 의하여 계산됨을 특징으로 하는 신분인증방법.
    v = SAr-Lmod n, x = r2eLmod n
  10. 제9항에 있어서,상기 제2계산과정에서의 응답변수 y는 하기 식과 같은 산술 연산에 의하여 계산됨을 특징으로 하는 신분인증방법.
    y = r1c1r2c2mod n
  11. 제10항에 있어서, 상기 제3계산과정에서 계산된 상기 공개키 w는 하기 식과 같은 규칙에 의하여 계산됨을 특징으로 하는 신분인증방법.
    w = veIDAmod n
  12. 제11항에 있어서, 상기 난수 r1과 r2는 0과 n사이의 난수중 하나를 선택하고, 상기 난수 c1, c2는 0과 L사이의 난수중 하나를 선택하도록 설정됨을 특징으로 하는 신분인증방법.
  13. 제6항 또는 제12항에 있어서, 상기 공개키는 일회용으로써, 프로토콜마다 반복적으로 사용할 수 있음을 특징으로 하는 신분인증방법.
  14. 신뢰할 수 있는 센타의 시스템 초기화에 의하여 생성된 공개정보 n,e와 공개 개인정보 IDA를 이용하여 생성된 하나의 비밀키 SA를 이용하여 사용자와 응용시스템간의 디지탈 서명생성 및 확인방법에 있어서; 상기 사용자측에서 난수발생기능을 통해 소정의 난수 r1, r2를 선택하는 과정; 상기 r1, r2의 난수가 선택되면, 정해진 규칙에 의하여 공개키 인증서 v 및 상기 난수값을 위탁하기 위한 변수 x를 계산하는 제1계산과정; 서명하고자 하는 메시지 m과 상기 제1계산과정에서 계산된 x값을 이용하여 해쉬한 값 c1을 계산하는 제2계산과정; 상기 제2계산과정에서 계산된 해쉬한 값 c1중 하위 t비트인 c1'를 계산하는 제3계산과정; 상기 제3계산과정에서 계산된 c1'값과 상기 난수 r1, r2값을 이용하여 응답변수 y를 계산하는 제4계산과정; 상기 제1 내지 제4계산과정에서 계산된 상기 v, c1, y값과 상기 사용자측에서 보유하고 있는 상기 개인정보 IDA와, 상기 m값을 상기 검증차측으로 전송면서 디지탈 서명을 상기 응용시스템으로 생성하는 디지탈서명 생성과정; 상기 디지탈서명 생성과정에 의하여 전송된 상기 변수들이 인가되면, 상기 응용시스템은 정해진 규칙에 의하여 공개키 w, 상기 c'변수, 확인변수 x'를 계산하는 제5계산과정; 상기 제5계산과정에서 계산된 확인변수 x'와 전송된 메세지 변수 m을 해쉬한 c2값을 계산하는 제6계산과정; 상기 제6계산과정에서 계산된 해쉬한 c2값과 상기 사용자측에서 전송된 상기 해쉬한 c1값의 동일성여부를 체크하여 디지탈서명을 확인하는 과정을 포함함을 특징으로 하는 디지탈서명 생성 및 확인방법.
  15. 제14항에 있어서, 상기 제1계산과정에서의 상기 공개키 인증서 v와 변수 x는 상술한 공개정보, 공개개인정보 및 상기 공개정보중 하나로서 가능한 많은 원소를 발생시키는 기본원소인 g를 이용하여 하기 식과 같은 규칙에 의하여 계산과정됨을 특징으로 하는 디지탈 서명생성 및 확인방법.
    v = SAg-r1mod n, x = ger2mod n
  16. 제15항에 있어서, 상기 제4계산과정에서 계산되는 상기 응답변수 y는 하기 식과 같은 산술연산에 의하여 계산됨을 특징으로 하는 디지탈 서명생성 및 확인방법.
    y = r2 + r1c'
  17. 제16항에 있어서, 상기 제5계산과정에서 계산된 상기 공개키 w는 하기 식과 같은 규칙에 의하여 계산됨을 특징으로 하는 디지탈 서명생성 및 확인방법.
    w = veIDAmod n
  18. 제17항에 있어서, 상기 제5계산과정에서 계산된 상기 확인변수 x'는 하기 식과 같은 규칙에 의하여 계산됨을 특징으로 하는 디지탈 서명생성 및 확인방법.
    x' = geywc'mod n
  19. 제18항에 있어서,상기 난수 r1은 k비트로 표현되고, 상기 난수 r2는 k+t비트로 표현되도록 설정됨을 특징으로 하는 디지탈 서명생성 및 확인방법.
  20. 제14항에 있어서, 상기 제1계산과정에서의 상기 공개키 인증서 v와 변수 x는 하기 식과 같은 규칙에 의하여 계산됨을 특징으로 하는 디지탈 서명생성 및 확인방법.
    v = SAr1-Lmod n, x = r2eLmod n
  21. 제20항에 있어서, 상기 제4계산과정에서의 응답변수 y는 하기 식과 같은 산술연산에 의하여 계산됨을 특징으로 하는 디지탈 서명생성 및 확인방법.
    y = r2r1c1mod n
  22. 제21항에 있어서, 상기 제5계산과정에서 계산된 상기 공개키 w는 하기 식과 같은 규칙에 의하여 계산됨을 특징으로 하는 신분인증방법.
    w = veIDAmod n
  23. 제22항에 있어서, 상기 제5계산과정에서 계산되는 상기 확인변수 x'는 하기 식과 같은 규칙에 의하여 계산됨을 특징으로 하는 디지탈 서명생성 및 확인방법.
    x' = yeLwc1mod n
  24. 제23항에 있어서, 상기 난수 r1과 r2는 0과 n사이의 난수중 하나를 선택하고, 상기 난수 c1, c2는 0과 L사이의 난수중 하나를 선택하도록 설정됨을 특징으로 하는 신분인증방법.
  25. 제19항 또는 제24항에 있어서, 상기 공개키는 일회용으로써, 프로토콜마다 반복적으로 사용할 수 있음을 특징으로 하는 디지탈 서명생성 및 확인방법.
  26. 제25항에 있어서, 상기 제3계산과정에서의 변수 c1'값은 c1'=c1 mod L과 같은 규칙에 의하여 계산됨을 특징으로 하는 디지탈 서명생성 및 확인방법.
KR1019950010019A 1995-04-27 1995-04-27 하나의 비밀키를 이용한 다수의 신분인증 및 디지탈서명 생성과 확인방법 KR0143598B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950010019A KR0143598B1 (ko) 1995-04-27 1995-04-27 하나의 비밀키를 이용한 다수의 신분인증 및 디지탈서명 생성과 확인방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950010019A KR0143598B1 (ko) 1995-04-27 1995-04-27 하나의 비밀키를 이용한 다수의 신분인증 및 디지탈서명 생성과 확인방법

Publications (2)

Publication Number Publication Date
KR960039739A KR960039739A (ko) 1996-11-25
KR0143598B1 true KR0143598B1 (ko) 1998-08-01

Family

ID=19413056

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950010019A KR0143598B1 (ko) 1995-04-27 1995-04-27 하나의 비밀키를 이용한 다수의 신분인증 및 디지탈서명 생성과 확인방법

Country Status (1)

Country Link
KR (1) KR0143598B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040009766A (ko) * 2002-07-25 2004-01-31 학교법인 성균관대학 암호 시스템에서 송수신 장치 및 방법
KR20040017487A (ko) * 2002-08-21 2004-02-27 이창우 공개키 암호 시스템을 이용한 인증 방법
KR20040017488A (ko) * 2002-08-21 2004-02-27 이창우 공개키 암호시스템을 이용한 정보의 서명 및 확인 방법
KR100447712B1 (ko) * 2001-12-10 2004-09-08 최창원 공개키 암호 알고리즘을 위한 일회용 키 생성방법

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100293492B1 (ko) * 1998-12-24 2001-07-12 이계철 부인 프로토콜을 이용한 전자 서명 확인 방법
KR100462044B1 (ko) * 2001-10-26 2004-12-17 주식회사 케이티프리텔 데이터 전송 서버와 사용자 단말기간의 안전한 데이터송수신 시스템 및 방법
KR100843081B1 (ko) 2006-12-06 2008-07-02 삼성전자주식회사 보안 제공 시스템 및 방법
KR102117871B1 (ko) * 2019-10-11 2020-06-09 (주)소프트제국 공개키 및 개인키 요소들의 분산저장을 통한 간편인증 방법 및 시스템

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100447712B1 (ko) * 2001-12-10 2004-09-08 최창원 공개키 암호 알고리즘을 위한 일회용 키 생성방법
KR20040009766A (ko) * 2002-07-25 2004-01-31 학교법인 성균관대학 암호 시스템에서 송수신 장치 및 방법
KR20040017487A (ko) * 2002-08-21 2004-02-27 이창우 공개키 암호 시스템을 이용한 인증 방법
KR20040017488A (ko) * 2002-08-21 2004-02-27 이창우 공개키 암호시스템을 이용한 정보의 서명 및 확인 방법

Also Published As

Publication number Publication date
KR960039739A (ko) 1996-11-25

Similar Documents

Publication Publication Date Title
JP2666191B2 (ja) データ交換システムにおける加入者相互のアイデンテイフイケーシヨンならびに署名の発生および確認のための方法
Blake-Wilson et al. Unknown key-share attacks on the station-to-station (STS) protocol
Ateniese et al. Some open issues and new directions in group signatures
Tsaur et al. A smart card-based remote scheme for password authentication in multi-server Internet services
EP0786178B1 (en) Secret-key certificates
US5796833A (en) Public key sterilization
US8654975B2 (en) Joint encryption of data
EP2686978B1 (en) Keyed pv signatures
Tsaur A flexible user authentication scheme for multi-server internet services
Dharminder et al. Security analysis and application of Chebyshev Chaotic map in the authentication protocols
van Heijst et al. New constructions of fail-stop signatures and lower bounds
Tsai et al. An ECC-based blind signcryption scheme for multiple digital documents
Ki et al. Constructing Strong Identity‐Based Designated Verifier Signatures with Self‐Unverifiability
Yoon et al. New authentication scheme based on a one-way hash function and Diffie-Hellman key exchange
KR0143598B1 (ko) 하나의 비밀키를 이용한 다수의 신분인증 및 디지탈서명 생성과 확인방법
KR20010013155A (ko) 자동 복구가능하고 자동 증명가능한 암호체계들
JP3513324B2 (ja) ディジタル署名処理方法
Chiou et al. Design and implementation of a mobile voting system using a novel oblivious and proxy signature
Lei et al. Provably secure blind threshold signatures based on discrete logarithm
JP2005513564A (ja) 負荷を複数のエンティティおよびそのデバイスに分散させるための暗号法
Byun PDAKE: a provably secure PUF-based device authenticated key exchange in cloud setting
Horster et al. Discrete logarithm based protocols
Allam et al. Efficient zero-knowledge identification scheme with secret key exchange
Zaw et al. User authentication in SSL handshake protocol with zero-knowledge proof
Kim Certificateless Designated Verifier Proxy Signature

Legal Events

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

Payment date: 20010411

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee