KR980010837A - 메시지 부가형 디지털서명 방법 및 그에 대한 검증 방법 - Google Patents
메시지 부가형 디지털서명 방법 및 그에 대한 검증 방법 Download PDFInfo
- Publication number
- KR980010837A KR980010837A KR1019960032051A KR19960032051A KR980010837A KR 980010837 A KR980010837 A KR 980010837A KR 1019960032051 A KR1019960032051 A KR 1019960032051A KR 19960032051 A KR19960032051 A KR 19960032051A KR 980010837 A KR980010837 A KR 980010837A
- Authority
- KR
- South Korea
- Prior art keywords
- signature
- message
- digital signature
- verification
- modp
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Signal Processing (AREA)
- Mathematical Optimization (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 메시지 부가형 디지털 서명 방법 및 그에 대한 검증방법에 관한 것으로서, 서명방법은 보내고자하는 메시지 M에 대한 해쉬코드 H(M)과, 서명시마다 발생하는 난수 K에 의해 계산된 gK를 곱하는 단계; 곱한 결과값을 모듈라 p에 대해서 모듈라 곱셈을 수행한 후 Lq비트로 절단하여 서명의 앞부분인 R을 얻는 단계; 서명자의 비밀키 X, 서명시마다 발생한 난수 K, 상기에서 계산한 값 R에 의해 S = (K-RX) mod q를 통해 서명의 뒷부분인 S를 구하는 단계; 및 R,S를 포함해서 디지털서명을 검증하기 위한 서명검증키 Y 및 메시지 M를 전송하는 단계를 포함한다.
본 발명에 의하면, 전자적인 문서에 있어서 그 문서가 원래의 문서 작성자를 증명해 낼 수 있으며, 원래 문서의 내용을 제3자가 변형했을 때 문서가 제3자에 의해서 변형되었음을 알려주고, 전자화폐에서 필요한 전자서명을 제공할 수 있다. 또한 디지털 서명은 인증시스템에도 적용할 수 있으며, 디지털 서명의 검증단계에서 속도를 향상시킬 수 있다.
Description
본 발명은 디지털 서명에 관한 것으로, 특히 전자적 문서 혹은 데이터에 서명 기능을 제공할 수 있는 메시지 부가형 디지털 서명 방법 및 그에 대한 검증방법에 관한 것이다.
일반적으로 디지털 서명이라 함은 정보의 전자적인 교환에 있어서 종래 종이에 손으로 직접 서명한 기능을 전자적 문서에서 그 기능을 제공할 수 있도록 하는 기술을 말한다. 컴퓨터와 정보통신의 발달로 인하여 정보화 사회가 시작되면서 모든 문서들이 종이에서 전자적인 데이터 형태로 전환되고 있는 추세이다. 이러한 추세하에서 개인과 개인, 개인과 단체, 회사와 회사 등, 각 기관들 간의 계약이나 문서등이 전자적인 형태로 위조 및 변조될 가능성이 커지게 되었다. 이러한 새로운 환경에 대응하여 전자적 문서에 종이에서와 같은 서명 기능을 제공할 수 있는 기술이 필요하게 되었다.
즉 상기에서 기술한 상황에 부응하여 정보처리시스템 및 통신환경 시스템에서 데이터의 인증, 무결성 및 부인봉쇄 등의 정보보호 서비스를 제공할 수 있는 메시지 부가형 디지털 서명 기술이 필요하게 되었다. 전자적인 문서의 도용, 위조 및 변조 등을 방지할 수 있는 디지털 서명 기술은 암호학적인 기술이 필요하다.
암호학적인 기술을 이용한 암호시스템은 크게 공개키 시스템과 비밀키 시스템으로 구분할 수 있다. 상기 비밀키 방식의 암호 시스템은 통신하고자 하는 두 사용자가 동일한 비밀키를 공유해야 하므로 키관리가 어려우며, 서명이 제공해햐 하는 부인봉쇄 등의 기능을 제공하지 못해서 완전한 의미의 서명을 제공하지 못하고 있다. 공개키 방식의 암호시스템은 수학적으로 풀기 어려운 문제의 일방향성을 이용하여 공개키와 비밀키를 계산하고 공개키는 누구나 이용할 수 있게 공개하며 비밀키만 각 사용자가 보관하게 하므로써 공개된 상대방의 공개키를 가진 사용자는 누구나 상대방과 비밀통신을 할 수 있게 된다.
한편 공개키 방식을 이용한 디지털 서명은 한 쌍의 키를 이용하게 되는데, 메시지를 서명할 때 사용하는 비밀키와 서명을 검증할 때 이용하게 되는 공개키가 그것이다. 즉 디지털 서명에 사용되는 한 쌍의 키들은 검증하는 공개적인 키와 서명에 쓰이는 비밀스러운 키로 구성된다.
공개키 방식을 이용한 메시지의 서명 가운데 메시지 복원형 디지털 서명이 있다. 이것은 서명을 검증하는 과정에서 메시지를 복원하는 방법으로서, ISO(the Internaltional Organization for Standardization:국제표준기구)/IEC(the Interantional Electrotechnical Commission:국제전자기술위원회) 9796에서 제시하는 디지털 서명 기법이 이에 속한다. 여기서는 소인수 분해의 어려움에 안전성의 기반을 둔 알에스에이(RSA:Rivest Shamir Adleman) 알고리듬을 이용하고 있는데, 제한된 길이의 메시지를 입력으로 받아들여야 하기 때문에 임의의 길이를 갖는 메시지를 디지털 서명하는데는 어려움이 있다.
그리고 상기 메시지 복원형 디지털 서명과는 달리 메시지 부가형 디지털 서명이 있다. 상기 메시지 부가형 디지털 서명은 메시지를 구하기 위해서 해쉬(hash)함수를 사용하고 있는데 해쉬함수를 이용해서 메시지를 간략히 줄인 다음 서명을 하므로 빠른 시간에 서명을 하고 검증할 수 있다. 메시지 부가형 디지털 서명의 예인 엘가말(Elgamal) 디지털 서명은 공개키를 이용한 디지털 서명으로서 이산대수를 계산하는 것에 안전성의 기반을 두고 있다. 하지만 서명을 생성하면서 크기가 두배로 커진다는 단점이 있다.
본 발명은 상술한 문제점을 해결하기 위해 창출된 것으로서, 서명의 길이를 줄이기 위해 해쉬함수를 이용한 메시지 부가형 디지털 서명 방법 및 그에 대한 검증 방법을 제공함에 그 목적이 있다.
제1도는 발명에 따른 디지털 서명을 생성하는 방법에 대한 흐름도를 도시한 것이다.
제2도는 생성된 디지털 서명을 검증하는 방법에 대한 흐름도를 도시한 것이다.
상기의 목적을 달성하기 위한 본 발명에 따른, 메시지 부가형 디지털 서명 방법은 소수 p, q에 대해 Lp, Lq는 각각 p와 q비트 길이를 나타내고, 1〈a〈p-1이고 a(p-1)/qmodp 〉 1 를 만족하는 a에 대해 g를 g=a(p-1)/qmodp 로 정의할 때, 보내고자하는 메시지 M에 대한 해쉬코드 H(M)과, 서명시마다 발생하는 난수 K에 의해 계산된 gK를 곱하는 단계; 상기 곱한 결과값을 모듈라 p에 대해서 모듈라 곱셈을 수행한 후 Lq비트로 절단하여 서명의 앞부분인 R을 얻는 단계; 서명자의 비밀키 X, 서명시마다 발생한 난수 K, 상기에서 계산한 값 R에 의해 S = (K-RX) mod q를 통해 서명의 뒷부분인 S를 구하는 단계; 및 상기 R,S를 포함해서 디지털서명을 검증하기 위한 서명검증키 Y 및 메시지 M를 전송하는 단계를 포함함이 바람직하다.
상기의 다른 목적을 달성하기 위한 본 발명에 따른, 메시지 부가형 디지털 서명에 대한 검증 방법은 소수 p, q에 대해 Lp, Lq는 각각 p와 q비트 길이를 나타내고, 1〈a〈p-1이고 a(p-1)/qmodp 〉 1를 만족하는 a에 대해 g를 g=a(p-1)/qmodp 로 정의할 때, 상기 디지털 서명 방법에서 송신한 메시지 Y, M, S, R 을 수신하여 0〈R〈q 이고 0〈S〈q임을 확인하는 단계; 수신된 메시지 M에 대한 해쉬함수 값 H(M), 상기 S 및 R에 의해 gS, YR를 계산하여 모듈라 p에 대해서 모듈라 곱셈을 수행하는 단계; 및 상기 모듈라 곱셈 결과값을 Lq비트로 절단한 결과값과 수신된 R값을 비교하여 같으면 공개검증키 Y를 가진 사용자가 비밀서명키 X로 서명하였음을 확인하는 단계를 포함함이 바람직하다.
이하에서 첨부된 도면을 참조하여 본 발명을 상세히 설명한다. 먼저 본 발명을 설명하기 전에 본 발명에서 사용하는 표기를 정의하기로 한다. M은 보내고자 하는 메시지를 나타내고, p,q는 소수를 나타내며, Lp, Lq는 각각 p와 q의 비트 길이를 나타낸다. g는 1〈a〈p-1이고 a(p-1)/qmodp 〉 1 를 만족하는 a에 대해 g=a(p-1)/qmodp 로 정의한다. X는 서명자의 비공개 서명키를 나타내고, Y는 디지털 서명을 검증하기 위해서 공개되는 서명 검증키에 해당되며 Y = gxmodp 이다. K는 난수값으로서 집합 {1,2,...,q-1}의 임의의 원소를 나타낸다. 디지털 서명 ∑는 R과 S의 연접으로 이루어지며, R, S는 모두 q보다 작다.
X, Y, p, q, g는 고정된 변수로서, 이중 p, q, g는 모든 사용자들이 공용으로 사용하는 변수이지만 난수값 K는 서명을 생성할 때마다 새롭게 선택해서 사용한다. K와 X는 서명과정에서 사용되어지는데, 남에게 알려지지 않아야 하며 0과 소수 q사이에서 난수로 선택한다. H는 충돌저항성을 갖는 해쉬함수이며, h=H(M)은 서명하고자 하는 메시지를 해쉬함수로 처리한 결과인 해쉬코드이다. 또한 ||는 메시지의 연접을 의미한다.
상기 정의 및 설명에 의거하여 본 발명에 따른 메시지 부가형 디지털 서명은 다음과 같이 생성해 낼 수 있다. 제1도는 본 발명에 따른 디지털 서명을 생성하는 방법에 대한 흐름도를 도시한 것이다.
먼저 임의의 메시지 M를 일방향성 함수인 해쉬함수를 이용하여 해쉬코드 H(M)를 생성한다.(100단계) 한편 난수발생기에서는 서명을 생성할 때마다 임의의 난수 K를 {1,2,...,q-1} 중에서 발생한다.(110단계) 이렇게 발생된 난수 값을 이용하여 gK를 계산하는데(120단계), 이 값은 메시지와는 독립적인 값으로서 미리 계산해 둘 수 있다.
다음은 해쉬코드와 미리 계산한 값을 곱해서 모듈라 p 연산을 하고 나서(130단계), Lq비트 길이로 절단한다. 여기서 절단한다는 것은 Lq비트 길이만 남기고 모두 버린다는 것을 의미한다. 이 결과는 서명의 앞부분에 해당하는 값 R이 된다.(140단계)
그리고 서명의 뒷부분을 생성하기 위해서 서명자의 비공개 서명키 X를 이용하여 S = (K-RX)mod q을 계산한다.(150단계) 그리고 나서 상기 R에 상기 S를 연접하여 서명 ∑= RS 을 출력한다.(160단계) 이 서명을 메시지에 덧붙여 서명의 검증키 Y와 함께 {Y, M, R, S}를 전송하게 된다.(170단계)
한편 제2도는 상기 생성된 디지털 서명을 검증하는 방법에 대한 흐름도를 도시한 것이다. 검증자는 서명을 검증하기 위해서 먼저 검증자가 받은 서명된 메시지 중 ∑= RS 에 대해서 0〈R〈q 이고 0〈S〈q 임을 확인한다.(200단계)
상기 두 조건을 모두 만족하는 경우 제2도에서 보인바와 같이 서명을 검증한다. 수신된 메시지 M에 대한 해쉬함수 값 H(M), 상기 수신된 S 및 R에 의해 gS, YR를 계산하여(210단계), 모듈라 p에 대해서 모듈라 곱셈을 수행한다.(220단계) 그리고 나서 상기 모듈라 곱셈 결과값을 Lq비트로 절단한 결과값 VR을 생성하고(230단계), 상기 VR을 수신된 R값과 비교한다.(240단계) 상기 비교결과 같으면 서명자의 공개적인 검증키 Y를 가진 이용자는 서명 ∑= RS 는 수신된 메시지 M에 대해서 서명자의 비밀 서명키 X로 서명되었음을 확인할 수 있다.(250단계) 이와 반대로 만일 상기 비교결과 R와 같지 않을 때 메시지 M에 대하여 불법적인 방법으로 서명이 되었거나 공격자에 의해서 메시지가 변형된 것을 나타내며, 이 때는 메시지 M은 가치없는 데이터로 간주한다.(260단계)
본 발명에 의하면, 종이에 서명된 서명의 기능을 전자적인 문서에 그 기능을 제공할 수 있으며, 전자적인 문서에 있어서 그 문서가 원래의 문서 작성자를 증명해 낼 수 있다.
그리고 원래 문서의 내용을 제3자가 변형했을 때 문서가 제3자에 의해서 변형되었음을 알려주고, 전자화폐에서 필요한 전자서명을 제공할 수 있다. 또한 디지털 서명은 인증시스템에도 적용할 수 있으며, 디지털 서명의 검증단계에서 속도를 향상시킬 수 있다.
Claims (2)
- 소수 p, q에 대해 Lp, Lq는 각각 p와 q비트 길이를 나타내고, 1 < a < p-1이고 a(p-1)/qmodp >1 를 만족하는 a에 대해 g를 g=a(p-1)/qmodp 로 정의할 때, 보내고자하는 메시지 M에 대한 해쉬코드 H(M)과, 서명시마다 발생하는 난수 K에 의해 계산된 gK를 곱하는 단계; 상기 곱한 결과값을 모듈라 p에 대해서 모듈라 곱셈을 수행한 후 Lq비트로 절단하여 서명의 앞부분인 R을 얻는 단계;서명자의 비밀키 X, 서명시마다 발생한 난수 K, 상기에서 계산한 값 R에 의해 S = (K-RX) mod q를 통해 서명의 뒷부분인 S를 구하는 단계; 및 상기 R,S를 포함해서 디지털서명을 검증하기 위한 서명검증키 Y 및 메시지 M를 전송하는 단계를 포함함을 특징으로 하는 메시지 부가형 디지털 서명 방법.
- 소수 p, q에 대해 Lp, Lq는 각각 p와 q비트 길이를 나타내고, 1 < a < p-1이고 a(p-1)/qmodp > 1 를 만족하는 a에 대해 g를 g=a(p-1)/qmodp 로 정의할 때, 제1항에서 송신한 메시지 Y, M, S, R 을 수신하여 0 < R < q 이고 0 < S < q 임을 확인하는 단계; 수신된 메시지 M에 대한 해쉬함수 값 H(M), 상기 수신된 S 및 R에 의해 gS, YR를 계산하여 모듈라 p에 대해서 모듈라 곱셈을 수행하는 단계; 및 상기 모듈라 곱셈 결과값을 Lq비트로 절단한 결과값과 수신된 R값을 비교하여 같으면 공개검증키 Y를 가진 사용자가 수신된 메시지 M에 대해서 서명되었음을 확인하는 단계를 포함함을 특징으로 하는 메시지 부가형 디지털 서명에 대한 검증방법.※ 참고사항:최초출원 내용에 의하여 공개하는 것임.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960032051A KR100397601B1 (ko) | 1996-07-31 | 1996-07-31 | 메시지 부가형 디지털서명 방법 및 그에 대한 검증 방법 |
FR9709731A FR2752121A1 (fr) | 1996-07-31 | 1997-07-30 | Procede d'execution d'une signature numerique associee a un message et procede de verification de celle-ci |
JP9206880A JPH1084341A (ja) | 1996-07-31 | 1997-07-31 | メッセージ付加形デジタル署名方法及びそれに対した検証方法 |
GB9716213A GB2315965B (en) | 1996-07-31 | 1997-07-31 | Method for performing digital signature with message appendix and method for verifying the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960032051A KR100397601B1 (ko) | 1996-07-31 | 1996-07-31 | 메시지 부가형 디지털서명 방법 및 그에 대한 검증 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR980010837A true KR980010837A (ko) | 1998-04-30 |
KR100397601B1 KR100397601B1 (ko) | 2003-10-23 |
Family
ID=19468479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960032051A KR100397601B1 (ko) | 1996-07-31 | 1996-07-31 | 메시지 부가형 디지털서명 방법 및 그에 대한 검증 방법 |
Country Status (4)
Country | Link |
---|---|
JP (1) | JPH1084341A (ko) |
KR (1) | KR100397601B1 (ko) |
FR (1) | FR2752121A1 (ko) |
GB (1) | GB2315965B (ko) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2327831B (en) * | 1997-07-23 | 2002-10-09 | Chantilley Corp Ltd | Document or message security arrangements |
KR100441397B1 (ko) * | 2002-10-31 | 2004-07-23 | 소프트포럼 주식회사 | 메시지의 인증 및 암호화 방법 |
CN1316405C (zh) * | 2003-03-19 | 2007-05-16 | 大唐微电子技术有限公司 | 一种获得数字签名和实现数据安全的方法 |
US8819440B2 (en) * | 2005-09-09 | 2014-08-26 | Microsoft Corporation | Directed signature workflow |
FR2907622A1 (fr) | 2006-10-19 | 2008-04-25 | St Microelectronics Sa | Procede de transmission de donnees utilisant un code d'accuse de reception comportant des bits d'authentification caches |
WO2010033081A2 (en) * | 2008-09-22 | 2010-03-25 | Embeyond Pte Ltd | Secure server system for online transactions |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5005200A (en) * | 1988-02-12 | 1991-04-02 | Fischer Addison M | Public key/signature cryptosystem with enhanced digital signature certification |
US4996711A (en) * | 1989-06-21 | 1991-02-26 | Chaum David L | Selected-exponent signature systems |
US5231668A (en) * | 1991-07-26 | 1993-07-27 | The United States Of America, As Represented By The Secretary Of Commerce | Digital signature algorithm |
JP3285039B2 (ja) * | 1992-03-09 | 2002-05-27 | 日本電信電話株式会社 | ディジタル署名方法 |
KR950002164B1 (ko) * | 1992-07-24 | 1995-03-14 | 문상재 | 전자서명 및 인증방법 |
JPH06112935A (ja) * | 1992-09-30 | 1994-04-22 | Mitsubishi Electric Corp | 暗号通信方法 |
DE69327238T2 (de) * | 1993-08-17 | 2000-09-07 | Entrust Technologies ( Switzerland) Ltd. Liab. Co., Glattzentrum | Verfahren zur digitalen Unterschrift und Verfahren zur Schlüsselübereinkunft |
GB9610154D0 (en) * | 1996-05-15 | 1996-07-24 | Certicom Corp | Tool kit protocol |
-
1996
- 1996-07-31 KR KR1019960032051A patent/KR100397601B1/ko not_active IP Right Cessation
-
1997
- 1997-07-30 FR FR9709731A patent/FR2752121A1/fr active Pending
- 1997-07-31 GB GB9716213A patent/GB2315965B/en not_active Expired - Fee Related
- 1997-07-31 JP JP9206880A patent/JPH1084341A/ja not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
KR100397601B1 (ko) | 2003-10-23 |
GB9716213D0 (en) | 1997-10-08 |
GB2315965A (en) | 1998-02-11 |
GB2315965B (en) | 2001-05-23 |
JPH1084341A (ja) | 1998-03-31 |
FR2752121A1 (fr) | 1998-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kohnfelder | Towards a practical public-key cryptosystem. | |
Caelli et al. | PKI, elliptic curve cryptography, and digital signatures | |
US6154841A (en) | Digital signature method and communication system | |
US7246379B2 (en) | Method and system for validating software code | |
EP2306670B1 (en) | Hybrid digital signature scheme | |
EP0503119A1 (en) | Public key cryptographic system using elliptic curves over rings | |
US7000110B1 (en) | One-way function generation method, one-way function value generation device, proving device, authentication method, and authentication device | |
US7248692B2 (en) | Method of and apparatus for determining a key pair and for generating RSA keys | |
Hwang et al. | An untraceable blind signature scheme | |
GB2313272A (en) | Digital signature protocol with reduced bandwidth | |
US6697946B1 (en) | Message recovery signature apparatus | |
KR100397601B1 (ko) | 메시지 부가형 디지털서명 방법 및 그에 대한 검증 방법 | |
US20050025311A1 (en) | Tate pairing techniques for use with hyperelliptic curves | |
US20050018850A1 (en) | Methods and apparatuses for providing short digital signatures using curve-based cryptography | |
US20030165238A1 (en) | A method for encoding long messages for electronic signature schemes based on rsa | |
Paar et al. | Digital Signatures | |
JP2005513564A (ja) | 負荷を複数のエンティティおよびそのデバイスに分散させるための暗号法 | |
US20020188850A1 (en) | Method for accelerated transmission of electronic signature | |
KR100194638B1 (ko) | 개인 식별정보를 이용한 부가형 디지털 서명방법 | |
JP3540477B2 (ja) | 署名方式 | |
US20050036606A1 (en) | Weil and Tate pairing techniques using parabolas | |
EP1185025A1 (en) | Undeniable digital signature scheme based on quadratic field | |
KR19980048479A (ko) | 안전성 측면의 디지털 서명 방법 | |
JPH0237147B2 (ko) | ||
JP3292312B2 (ja) | ディジタル署名方法 |
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: 20080708 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |