KR100431047B1 - Crt에 기초한 rsa 공개키 암호화 방식을 이용한디지털 서명방법 및 그 장치 - Google Patents

Crt에 기초한 rsa 공개키 암호화 방식을 이용한디지털 서명방법 및 그 장치 Download PDF

Info

Publication number
KR100431047B1
KR100431047B1 KR10-2002-0010256A KR20020010256A KR100431047B1 KR 100431047 B1 KR100431047 B1 KR 100431047B1 KR 20020010256 A KR20020010256 A KR 20020010256A KR 100431047 B1 KR100431047 B1 KR 100431047B1
Authority
KR
South Korea
Prior art keywords
value
calculating
output
message
authentication
Prior art date
Application number
KR10-2002-0010256A
Other languages
English (en)
Other versions
KR20030070733A (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 KR10-2002-0010256A priority Critical patent/KR100431047B1/ko
Priority to DE60218421T priority patent/DE60218421T2/de
Priority to AT02102713T priority patent/ATE355672T1/de
Priority to EP02102713A priority patent/EP1347596B1/en
Publication of KR20030070733A publication Critical patent/KR20030070733A/ko
Application granted granted Critical
Publication of KR100431047B1 publication Critical patent/KR100431047B1/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/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/004Countermeasures against attacks on cryptographic mechanisms for fault attacks
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/723Modular exponentiation
    • 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/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • 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
    • H04L9/3249Cryptographic 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 using RSA or related signature schemes, e.g. Rabin scheme

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 오류주입 공격에 안전한 CRT에 기초한 RSA 공개키 암호화 방식을 이용한 디지털 서명방법 및 그 장치에 관한 것으로, 구체적으로는 CRT에 기초한 RSA 공개키 암호화 방식에 의해 연산되는 서명의 일부에 오류가 발생하는 경우, 그 오류를 서명의 전체에 퍼지도록 함으로써 오류 주입 공격자가 비밀키를 공격할 수 있는 계산식을 유도할 수 없도록 한다.

Description

CRT에 기초한 RSA 공개키 암호화 방식을 이용한 디지털 서명방법 및 그 장치{Digital signature method using RSA public-key cryptographic based on CRT and apparatus therefor}
본 발명은 CRT(Chinese Remainder Theorem)에 기초한 RSA(Rivest, Shamir and Adleman) 공개키 암호화 방식을 이용한 디지털 서명방법 및 그 장치에 관한 것이다.
전송되는 내용을 암호화하여 전송하는 방식에는 크게 대칭키 암호화 방식과 공개키 암호화 방식(비대칭키 암호화 방식)이 있고, 공개키 암호화 방식 중에서 현재 인터넷이나 금융계 등에서 표준으로 채택되어 널리 쓰이고 있는 방식으로는 RSA(Rivest, Shamir and Adleman) 공개키 암호화 방식이 있다.
RSA 공개키 암호화 방식은 Rivest, Shamir 및 Adleman에 의해 제안된 방식으로 숫자의 크기가 커질수록 소인수분해가 어렵다는 점에 그 안전도의 기반을 두고 있다. RSA 공개키 암호화 방식을 설명하면 다음과 같다.
RSA 공개키 암호화 방식에서는 일반 공개키 암호화 방식에서와 같이 일반인도 알 수 있는 공개키와 암호화를 시키는 본인만이 알 수 있는 비밀키가 있다.
먼저, 암호문 작성자는 소수 p, q를 비밀키로 지정하고 n(=p*q)을 공개키로 일반에게 공개한다. 안전을 위하여 p 및 q는 각각 384비트 이상의 수이고, 그 길이가 비슷한 것이 바람직하다. 그후 Euler totient 함수(=(p-1)(q-1))과 서로 소인 임의의 정수 e를 공개키로 지정하고,을 만족하는 d를 Euclid 알고리즘을 이용하여 구하여 이를 비밀키로 지정한다.
상기한 바와 같이 RSA 공개키 암호화 방식은 비밀키로 p, q, d를 지정하고, 공개키로 n, e를 지정하여 전송하고자 하는 메시지를 자신의 비밀키 또는 상대방의 공개키 등을 이용하여 암호화하고, 수신자는 이와 반대로 전송자의 공개키 또는 자신의 비밀키 등을 이용하여 복호화한다.
전송되는 메시지를 M이라 할 때 전송자는 암호문 C = Memod n를 수신자에게 전송하게 되고, 수신자는 수신된 암호문 C를 M = Cdmod n의 과정을 통하여 복호화하여 메시지를 확인한다.
한편, 보내는 메시지에 디지털 서명을 하기 위해서 전송자는 S = Mdmod n의과정을 거쳐 생성된 서명문 S와 메시지 M을 수신자에게 전달하며, 수신자는 M` = Semod n의 과정을 거쳐 복호화를 한 후, 수신된 M과 계산된 M`를 비교하여 양자가 같으면 진정한 서명으로 인증을 하게 된다.
RSA 시스템은 공개정보로부터 비밀키 d를 알아내는 것이 암호문을 해독하는 열쇠가 되며, 공개정보로부터 비밀키 d를 알아내는 공격이 성공하기 위해서는을 알아야 하며, 이는 n을 소인수분해하여 p와 q를 찾는 문제로 귀결된다. 암호화하는 전송자는 타인이 암호문을 해독하는 것을 방지하기 위해 p와 q를 일정크기 이상, 바람직하게는 384비트 이상의 수를 사용하여 n이 소인수분해되는 것을 방지한다.
이렇게 RSA 시스템에서 암호 및 서명을 위해서는 큰 수에 대한 연산을 행하여야 하므로 암호문을 복호화할 경우, 서명을 할 경우에 많은 계산이 불가피하게 되었다.
이러한 단점을 보완하기 위하여 많은 고속 알고리듬이 개발되었는데, 그중 중국인의 나머지 정리(Chinese Remainder Theorem: CRT)에 기초한 방법은 비밀키 d에 대한 멱승 연산을 효과적으로 처리하여 각광받고 있다. CRT를 이용한 RSA 서명방법은 하기의 수학식 1과 같은 과정을 통하여 수행된다.
여기서,,이고, dp = d mod (p-1), dq = d mod (q-1)이다.
그러나, 이러한 CRT를 이용한 RSA 시스템은 빠른 연산 방법이라는 장점에 비해 오류 주입 공격(fault cryptanalysis)에 취약하다는 단점이 있다. 오류 주입 공격이란 IC 카드나 프로세서 동작과정에 장치에 과전류를 흘려보내는 등의 방식으로 하드웨어 또는 소프트웨어 상에 의도적으로 오류가 발생하도록 하여, 출력된 오류값을 이용하여 원하는 비밀정보를 알아내는 방법으로서 최근 주목을 받고 있는 공격 방법이다. 이러한 오류 주입 공격방법으로는 Boneh, Lenstra 등에 의해 제안된 방법이 있다.
Boneh 등에 의해 제안된 오류 주입 공격 방법은 앞에서 CRT에 기반한 서명 생성 과정에서 둘 중 어느 하나만 정확한 값이 아니면 동일한 하나의 메시지에 대해 두 개의 서명(하나의 정확한 서명과 하나의 틀린 서명)을 가진 공격자가 n을 소인수 분해하는 공격이 가능하다는 이론에 기초하고 있다. 따라서 이 공격은 하나의 평문 메시지에 대하여 오류가 발생한 서명과 발생하지 않은 서명, 두 개의 서명을 필요로 한다. 공격법을 단계적으로 설명하면 다음과 같다.
올바른 서명을이라고 할 때, 서명의 계산과정에서에 오류가 발생하여가 되었다고 가정한다. 이 때,가 되므로가 되어 비밀키 p를 알아낼 수 있게 된다. 여기서 gcd는 최대공약수(greatest common divisor)를 의미한다.
Lenstra에 의해 제안된 오류 주입 공격 방법은 단지 하나의 오류 서명을 가진 공격자만을 이용해서도 오류 공격을 할 수 있는 방법으로, 이를 구체적으로 살펴보면 다음과 같다.
먼저 CRT을 이용한 서명시의 계산 과정에서 오류가 발생한 경우가 되었다고 가정한다. 이 경우지만,이 되어 결국는 p의 배수이지만, q의 배수는 되지 않아가 되어 비밀키 p가 밝혀지게 된다.
상기한 CRT 기반의 RSA 공개키 암호 시스템에 대한 오류 공격은 오류의 발생원인에 대해서 제약을 받지 않고 수행될 수 있기 때문에 가장 강력한 오류 공격 방법으로 인정받는다. 이러한 오류 공격을 방지하기 위하여 다음과 같은 다양한 알고리즘이 개발되어 왔다.
먼저, CRT 오류 공격 방법이 Sp나 Sq에 오류가 생성되었다는 가정하에 출발하므로, 서명의 생성시 Sp, Sq를 두 번 연산하거나, 검증함수를 통하여 오류가 발생했는지를 검사하여 오류가 발생한 경우에는 서명을 다시 수행하여 공격자가 공격을 할 수 없도록 하는 방법이 있다.
이러한 방법은 암호연산 자체가 많은 연산량을 요구하므로 비효율적이고, 또한 영구적인 결함을 가지고 있는 시스템의 경우에 오류가 생성되었는지를 검증할 방법이 없어 적절하지 못하다.
다음으로, 서명값에 대해 다시 서명 검증을 통해 다시 원래의 메시지 M = Semod n으로 복원하여 오류의 유무를 판별하는 방법이 있다. 이 방법 역시 큰 수에 대한 멱승 연산을 하므로 많은 연산이 소요되어서 비효율적이고, 또한 영구적인 결함을 가지고 있는 시스템의 경우에 오류가 생성되었는지를 검증할 방법이 없어 적절하지 못하다.
Shamir는 미국 특허 제5,991,415호에서,로 서명을 생성하는 방법을 제안하였다. 이 방법에 따르면인 경우에는 오류가 발생한 서명이므로 서명을 다시 생성하고인 경우에는 서명생성에 오류가 발생하지 않은 것이므로 서명자는 비로소로 서명을 생성하게 된다.
그러나, Shamir가 제안한 방법은 다음과 같은 문제점이 있다. 첫째, 이론적으로 감지할 수 없는 오류의 확률이 1/r만큼 존재한다. 여기서 큰 r을 선택하게 되면 감지할 수 없는 오류가 존재할 확률은 줄어들지만 큰 수에 대해서 모듈라 연산을 취해야 하므로 그만큼 연산의 효율성이 떨어지게 된다. 반대로 작은 r을 선택하면 연산의 효율성은 상대적으로 증가하지만, 감지할 수 없는 오류가 존재할 확률이 높아지므로 안전성이 위협받을 수 있다.
둘째, Shamir의 대응기법과 같은 검사 과정(checking procedure)을 통한 대응기법은 본질적으로 하드웨어 오류 공격에 약하고 새로운 오류 공격이 제안되었을 때 유연한 확장이 어렵다.
셋째, 연산과정에서 모듈러스 수가 p나 q에서 pr이나 qr로 확장되어짐에 따라 기존 사용하던 시스템과의 호환성이 부족하며, 안전도가 변함에 따라 r의 크기를 다시 결정해야 하는 문제가 있다.
상기한 방법들 외에도 Yen 등 많은 학자들에 의해 다양한 방법이 제안되었으나, 대부분 연산 과정이 복잡하고 계산량이 다소 증가하는 단점이 있거나, 비밀리에 관리해야 할 파라미터가 추가로 발생한다는 점에서 기존의 시스템과 호환적이지 않다는 단점이 있다.
상기와 같은 문제를 해결하기 위해서 본 발명에서는 새로운 파라미터를 추가하지 않아 기존의 시스템과 호환성을 가지면서도 계산량을 줄일 수 있는 오류 주입 공격에 안전한 디지털 서명 방법을 제공하는 것을 목적으로 한다.
또한 본 발명에서는 상기와 같은 문제를 해결하기 위해서, 상기한 방법을 수행할 수 있는 디지털 서명용 장치를 제공하는 것을 목적으로 한다.
또한 본 발명에서는 상기와 같은 문제를 해결하기 위해서, 상기한 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 것을 목적으로 한다.
도 1은 본 발명을 병렬로 수행하는 방법을 나타낸 흐름도
도 2은 본 발명을 직렬로 수행하는 방법을 나타낸 흐름도
도 3는 본 발명을 병렬로 수행하는 장치를 나타낸 블록선도
도 4는 본 발명을 직렬로 수행하는 장치를 나타낸 블록선도
상기한 목적을 달성하기 위해 본 발명은 소수 p, q를 비밀키로, n = pq를 만족하는 n을 공개키로, Euler totient 함수과 서로 소인 소정의 정수 e를 공개키로,를 만족하는 d를 비밀키로 이용하는 CRT(Chinese Remainder Theorem)에 기초한 RSA(Rivest, Shamir and Adleman) 공개키 암호화 방식을 이용한 디지털 서명 방법에 있어서, (a)를 만족하는 x값과, 상기 d를 (p-1)로 모듈러 연산한 dp를 구하고, 메시지 M에 dp승을 한 값을 상기 p로 모듈러 연산하여 Sp를 산출하는 단계; (b)를 만족하는 y값과, 상기 d를 (q-1)로 모듈러 연산한 dq를 구하고, 메시지 M에 dq승을 한 값을 상기 q로 모듈러 연산하여 Sq를 산출하는 단계; (c) 상기 비밀키, 상기 공개키, 상기 Sp, 상기 Sq 및 상기 메시지 M값이 모두 각각 오류가 발생하지 않은 미리 정해진 소정의 값인 경우, 인증값 T의 비트들이 모두 제1논리상태가 되도록 상기 인증값 T를 출력하는 단계; (d) 대응되는 비트가 동일한 경우에는 상기 제1논리상태의 비트를 출력하고, 서로 다른 경우에는 상기 제1논리상태와 다른 상태에 있는 제2논리상태의 비트를 출력하는 제1연산자를 이용하여 상기 q값과 상기 인증값 T값을 연산한 제1중간값, 상기 x 및 상기 Sp를 곱하여 S1을 산출하는 단계; (e) 상기 제1연산자를 이용하여 상기 p값과 상기 인증값 T값을 연산한 제2중간값, 상기 y 및 상기 Sq를 곱하여 S2를 산출하는 단계; 및 (f) 상기 S1과, 상기 S2를 상기 n으로 모듈러 연산한값을 더하여 서명값 S를 출력하는 단계;를 포함하는 것을 특징으로 하는 CRT에 기초한 RSA 공개키 암호화 방식을 이용한 디지털 서명방법을 제공한다.
또한 상기한 목적을 달성하기 위해 본 발명은 소수 p, q를 비밀키로, n = pq를 만족하는 n을 공개키로, Euler totient 함수과 서로 소인 소정의 정수 e를 공개키로,를 만족하는 d를 비밀키로 이용하는 CRT(Chinese Remainder Theorem)에 기초한 RSA(Rivest, Shamir and Adleman) 공개키 암호화 방식을 이용한 디지털 서명 방법에 있어서, (a)를 만족하는 x값과, 상기 d를 (p-1)로 모듈러 연산한 dp를 구하고, 메시지 M에 dp승을 한 값을 상기 p로 모듈러 연산하여 Sp를 산출하는 단계; (b)를 만족하는 y값과, 상기 d를 (q-1)로 모듈러 연산한 dq를 구하고, 메시지 M에 dq승을 한 값을 상기 q로 모듈러 연산하여 Sq를 산출하는 단계; (c) 상기 비밀키, 상기 공개키, 상기 Sp, 상기 Sq 및 상기 메시지 M값이 모두 각각 오류가 발생하지 않은 미리 정해진 소정의 값인 경우, 인증값 T의 비트들이 모두 제1논리상태가 되도록 상기 인증값 T를 출력하는 단계; (d) 상기 인증값 T를 구성하는 비트들이 모두 상기 제1논리상태에 있는 경우, 대응되는 비트가 동일한 경우에는 상기 제1논리상태의 비트를 출력하고, 서로 다른 경우에는 상기 제1논리상태와 다른 상태에 있는 제2논리상태의 비트를 출력하는 제1연산자를 이용하여 상기 q값과 상기 인증값 T값을 연산한 제1중간값, 상기 x 및 상기 Sp를 곱하여 S1을 산출하는 단계; (e) 상기 인증값 T를 구성하는 비트들이 모두 상기 제1논리상태에 있는 경우, 상기 제1연산자를 이용하여 상기 p값과 상기 인증값 T값을 연산한 제2중간값, 상기 y 및 상기 Sq를 곱하여 S2를 산출하는 단계; (f) 상기 인증값 T를 구성하는 비트들이 모두 상기 제1논리상태에 있는 경우, 상기 S1과, 상기 S2를 상기 n으로 모듈러 연산한 값을 더하여 서명값 S를 출력하는 단계; 및 (g) 상기 인증값 T를 구성하는 비트들 중 어느 하나 이상이 상기 제1논리상태에 있지 않은 경우 오류 메시지를 출력하는 단계;를 포함하는 것을 특징으로 하는 CRT에 기초한 RSA 공개키 암호화 방식을 이용한 디지털 서명방법을 제공한다.
또한 상기한 목적을 달성하기 위해 본 발명은 소수 p, q를 비밀키로, n = pq를 만족하는 n을 공개키로, Euler totient 함수과 서로 소인 소정의 정수 e를 공개키로,를 만족하는 d를 비밀키로 이용하는 CRT(Chinese Remainder Theorem)에 기초한 RSA(Rivest, Shamir and Adleman) 공개키 암호화 방식을 이용한 디지털 서명용 장치에 있어서,를 만족하는 x값과, 상기 d를 (p-1)로 모듈러 연산한 dp를 구하고, 메시지 M에 dp승을 한 값을 상기 p로 모듈러 연산하여 Sp를 산출하는 제1연산수단;를 만족하는 y값과, 상기 d를 (q-1)로 모듈러 연산한 dq를 구하고, 메시지 M에 dq승을 한 값을 상기 q로 모듈러 연산하여 Sq를 산출하는 제2연산수단; 상기 비밀키, 상기 공개키, 상기 제1연산수단 및 제2연산수단으로부터 출력된 상기 Sp 및 상기 Sq 및 상기 메시지 M값이 모두 각각 오류가 발생하지 않은 미리 정해진 소정의 값인 경우, 인증값 T의 비트들이 모두 제1논리상태가 되도록 상기 인증값 T를 출력하는 인증값 출력수단; 대응되는 비트가 동일한 경우에는 상기 제1논리상태의 비트를 출력하고, 서로 다른 경우에는 상기 제1논리상태와 다른 상태에 있는 제2논리상태의 비트를 출력하는 제1연산자를 이용하여 상기 q값과 상기 인증값 출력수단으로부터 출력된 상기 인증값 T값을 연산한 제1중간값, 상기 x 및 상기 Sp를 곱하여 S1을 산출하는 제3연산수단; 상기 제1연산자를 이용하여 상기 p값과 상기 인증값 출력수단으로부터 출력된 상기 인증값 T값을 연산한 제2중간값, 상기 y 및 상기 Sq를 곱하여 S2를 산출하는 제4연산수단; 및 상기 제3연산수단으로부터 출력된 상기 S1과, 상기 제4연산수단으로부터 출력된 상기 S2를 상기 n으로 모듈러 연산한 값을 더하여 서명값 S를 출력하는 디지털서명 출력수단;을 포함하는 것을 특징으로 하는 CRT에 기초한 RSA 공개키 암호화 방식을 이용한 디지털 서명용 장치를 제공한다.
또한 상기한 목적을 달성하기 위해 본 발명은 상기한 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
이하, 본 발명의 바람직한 실시예를 도면을 참조하여 상세히 설명한다.
도 1은 본 발명의 바람직한 일 실시예의 방법을 나타낸 흐름도이다. 기존의 오류 주입 공격이 Sp나 Sq 중 어느 하나에만 오류가 발생하는 점을 이용한다는 점에서, 본 발명에서는 Sp나 Sq 중 어느 하나에만 오류가 발생한 경우에도 오류가 전체적으로 넓게 퍼지도록 하여 오류 주입 공격자가 비밀키를 공격할 수 있는 계산식을 유도하지 못하도록 한다.
본 실시예에 따른 디지털 서명 방법은 먼저 비밀키 p, q, d와 공개키 n, e를입력받는다(101). 여기서, p, q는 소수이고, n=pq이며, e는 Euler totient 함수과 서로 소인 임의의 정수이고, d는를 만족하는 수이다. 상기한 공개키 및 비밀키는 미리 저장되어 있을 수도 있고, 암호화를 하기 위해 별도로 입력받을 수도 있다.
상기한 비밀키와 공개키를 이용하여 q-1mod p, dp = d mod (p-1), p-1mod q, dq = d mod (q-1)를 계산하고(102, 103),,를 계산한다(104, 105). 도 1에서 보듯이 상기 계산과정은 병렬로 수행된다. 또한 상기한 과정은 디지털 서명을 수행할 때 연산될 수도 있지만, 미리 연산되어 저장되어 있는 값을 이용할 수도 있다.
본 발명에서는 상기한 Sp, Sq, 비밀키 및 공개키 중 어느 하나라도 서명과정 중 오류가 발생한 경우에도 오류가 전체적으로 퍼져서 오류 주입 공격자가 비밀키를 공격할 수 있는 계산식을 유도하지 못하도록 하는 것을 목적으로 하므로, 예를 들어 Sq에 오류가 발생하더라도 Sq가 포함된 항뿐만 아니라 다른 항에도 오류가 주입되도록 하여 비밀키 p를 알아내지 못하도록 하여야 한다. 따라서, 본 발명에서는 다음의 수학식과 같은 연산식을 제안한다.
여기서,는 수학적 연산자를 의미하며, 배타적 논리합(exclusive OR,XOR)을 이용하는 것이 바람직하다. 또한, 상기 연산자는 덧셈(+)이나 뺄셈(-)연산자인 것도 가능하며, 디지털 연산에서 대응되는 비트가 서로 같은 경우에는 제1논리상태, 서로 다른 경우에는 제2논리상태가 출력되도록 연산하는 연산자이면 어떤 연산자라도 가능하다. 상기 제1논리상태는 로우 상태 또는 0인 상태이고, 제2논리상태는 하이 상태 또는 1인 상태인 것이 바람직하다.
[수학식 2]에서 보듯이 q는 Sq의 정확성을 인증하는 값(proving value for correct Sq)과 먼저 연산하게 된다. 이때 Sq의 값이 정확하게 생성되었으면 인증하는 값은이 배타적 논리합을 나타내는 수학적 연산자일 경우 0이 출력된다.
만약 Sq에 오류가 발생한 경우에는 Sq의 정확성을 인증하는 값은 0이 아닌 다른 값이 되고, 결과적으로 (q-1mod p)Sp항에 q가 아닌 다른 값이 곱해져서 Sq에 발생한 오류가 Sp가 포함된 항에까지 전파되게 된다. 상기와 같은 방식은 p와 Sp의 정확성을 인증하는 값(proving value for correct Sp)과의 연산에도 동일하게 적용된다.
[수학식 2]에서 Sq의 정확성을 인증하는 값(proving value for correct Sq)은 Sq에 오류가 발생할 때 0이 아닌 다른 값이 출력되도록 하는 계산식에 의해 나오는 값이고, Sp의 정확성을 인증하는 값(proving value for correct Sp)은 Sp에 오류가 발생할 때 0이 아닌 다른 값이 출력되도록 하는 계산식에 의해 나오는 값이다. 양자는 서로 다른 값일 수도 있고, 같은 값일 수도 있으나, 다음과 같은 수학식을 통하여 얻어지는 값이 바람직하다.
도 1에서와 같이 T1과 T2는 각각 단계(106) 및 단계(107)에서 병렬로 수행된 뒤 단계(108)에서연산자를 이용하여 연산된다.
단계(108)에서 연산된 T는 단계(109)와 단계(110)에서 사용되며, 단계(108)과 단계(109)를 거쳐 연산된 S1과 S2는 단계(111)에서 이용되어 하기의 수학식과 같은 연산을 통해 디지털 서명값 S를 출력하게 된다.
상기 연산과정에서 정상적인 Sp와 Sq를 생성하였다면이 될 것이고,이 될 것이므로 올바른 서명이 만들어진다. 그러나, 정상적인 Sp와 오류가 주입된가 발생했다면의 값이 0이 아니므로 비정상적인를 계산할 것이고, 올바른 서명도 출력되지 않는다. 이 경우의 계산식은 다음의 수학식과 같아진다.
따라서 오류를 주입한 공격자가 계산하는는 p의 배수도 아니고, q의 배수도아니게 된다. 따라서, 공격자는 오류를 주입하더라도 gcd(n,) = p를 구할 수 없게 되어 결국 비밀키를 알아낼 수 없게 된다.
또한 Boneh 등에 의해 제안된 오류 주입 공격 방법으로 공격을 당하더라도 올바른 서명을, 오류주입으로 생성된 서명을라고 할 때 아래와 같은 수학식에서 보는 바와 같이 공격자가 계산하던 수식이 성립하지 않게 되어 비밀키 p를 구할 수 없게 된다.
비록 도 1에서는 도시하지 않았지만, 단계(108)에서 연산된 T의 값이 모두 0인 비트들로 이루어져 있는지를 판단하여, T를 이루는 비트 중 어느 하나라도 0이 아닌 값을 가질 때에는 그 이후의 단계를 수행하지 않고 오류 메시지를 출력하도록 할 수 있다.
즉, T를 이루는 비트들이 모두 0이라고 판단되는 경우에만 병렬로 수행되는단계(109)와 단계(110)을 거쳐 상기의 [수학식 4] 또는 [수학식 5]와 같은 연산을 통하여 서명값을 출력하고, 인증값 T의 비트들이 모두 0이라고 판단되지 않는 경우에는 별도의 연산을 수행하지 않고 미리 정해진 소정의 오류 메시지를 출력하도록 할 수 있다.
인증값 T가 모두 0이 아닌 경우에는 Sp나 Sq 중 어느 하나에 오류가 발생하였더라도, 그 오류가 전체적으로 퍼져서 오류 주입 공격자가 비밀키를 공격할 수 있는 계산식을 유도하지 못하게 되므로, 오류 주입 공격을 막기 위한 목적만을 위해서는 굳이 오류메시지를 출력하는 단계를 둘 필요는 없으나, 연산과정 중 오류가 발생한 경우 이를 사용자가 바로 알 수 있게 할 수 있는 효과가 있으므로 이러한 효과를 위해서는 인증값 T의 비트들이 모두 0인지를 판단하여 0이 아닌 경우 오류메시지를 출력하는 단계를 추가하는 것이 바람직하다.
도 1에서는 본 발명의 방법을 병렬로 처리하는 것을 예로 들어 설명하였다. 이렇게 병렬로 처리하게 되면 계산시간을 직렬 방식보다 약 1/2로 줄일 수 있을 뿐 아니라 시차공격이나 전력 분석공격 등의 외부 공격 등에도 강해질 수 있다.
그러나, 직렬로 처리하는 것도 가능하며, 직렬로 처리하는 경우에는 하드웨어의 설계공간을 줄일 수 있는 장점이 있다. 도 2는 본 발명의 방법을 직렬로 처리하는 실시예를 나타낸 것이다.
도 2에서의 각 단계는 도 1에서의 각 단계와 동일한 단계를 수행하며, 도 2에서도 역시 단계(208) 이후에 인증값 T를 구성하는 비트들이 모두 0인지를 판단하여 모두 0이라고 판단되지 않는 경우에는 그 이후의 단계를 수행하지 않고 오류메시지를 출력하는 단계를 삽입하는 것도 가능하다.
도 3은 본 발명의 바람직한 일 실시예의 장치를 나타낸 블록선도이다. 본 발명의 장치는 제1연산수단(301), 제2연산수단(302), 인증값 출력수단(303), 제3연산수단(305), 제4연산수단(306), 오류 메시지 출력수단(304), 및 디지털서명 출력수단(307)을 포함하여 구성된다.
제1연산수단(301)은 비밀키 p, q, d와 공개키 n, e를 이용하여 q-1mod p, dp = d mod (p-1) 및를 연산하여 출력하고, 제2연산수단(302)은 비밀키 p, q, d와 공개키 n, e를 이용하여 제1연산수단(301)과 병렬로 p-1mod q, dq = d mod (q-1) 및을 연산하여 출력한다.
인증값 출력수단(303)은 Sq의 정확성을 인증하는 값(proving value for correct Sq)과 Sp의 정확성을 인증하는 값(proving value for correct Sp)을 출력한다. 양자는 서로 다른 값일 수도 있고, 같은 값일 수도 있다. 예를 들어 Sq의 정확성을 인증하는 값은로, Sp의 정확성을 인증하는 값은로 할 수도 있고, [수학식 3]에서와 같은 방식으로 연산할 수도 있다.
인증값 출력수단(303)으로부터 출력된 값이 0인 경우에는 제3연산수단(305)에서는를, 제4연산수단(306)에서는을 수행하고, 디지털서명 출력수단(307)에서는 이 값을 이용하여 [수학식 4]에 기재된 연산을 수행한다.
인증값 출력수단(303)으로부터 출력된 값이 0이 아닌 경우에는 오류 메시지 출력수단(304)은 디지털서명 출력수단(307)으로부터 서명값이 출력되는 것을 방지하고 오류 메시지를 출력하여 사용자가 서명과정 중에 오류가 발생하였음을 알 수 있도록 한다.
장치의 경우에도 도 1 및 도 2에서 설명한 바와 같이 오류 메시지 출력수단(304)이 없더라도 연산과정에 오류가 발생한 경우 디지털 서명 출력 수단이 출력하는 서명은 오류가 전체적으로 퍼져 있어 오류 주입 공격자가 비밀키를 알아내는 것을 방지할 수 있으므로, 오류 주입 공격에 대비한다는 목적의 관점에서만 장치를 구성하면 굳이 오류 메시지 출력수단(304)를 두지 않더라도 본 발명의 목적은 달성될 수 있다.
도 3에서 오류메시지 출력수단(304)가 없는 경우에는 인증값 출력수단(303)에서 출력된 인증값 T의 비트들이 모두 0인 것으로 판단되지 않더라도 제3연산수단(305)과 제4연산수단(304)은 각각연산을 수행하고, 디지털서명 출력수단(307)에서는 이 값을 이용하여 [수학식 4]에 기재된 연산을 수행하여 오류가 서명 전체에 널리 퍼진 디지털 서명을 출력한다.
도 3에서는 본 발명의 장치를 병렬적으로 구성하였지만, 직렬로 구성하여 연산하는 것도 물론 가능하다. 도 4는 본 발명의 장치를 직렬로 구성한 일실시예의 장치를 나타낸 블록선도이다. 도 4의 장치는 제1연산수단(401), 인증값출력수단(403), 제2연산수단(405), 디지털서명 출력수단(407) 및 오류메시지 출력수단(404)를 포함하여 구성된다.
제1연산수단(401)은 도 3의 제1연산수단(301) 및 제2연산수단(302)에서 수행되는 연산, 즉 비밀키 p, q, d와 공개키 n, e를 이용하여 q-1mod p, dp = d mod (p-1),, p-1mod q, dq = d mod (q-1) 및을 직렬로 수행한다. 각 연산은 dp가 Sp의 앞에, dq가 Sq의 앞에 수행되기만 하면 어떠한 순서로도 수행될 수 있다.
인증값 출력수단(403)은 도 3의 인증값 출력수단(303)에서와 동일한 기능을 수행한다.
제2연산수단(405)은 도 3의 제3연산수단(305) 및 제4연산수단(306)에서 수행되는 연산, 즉를 직렬로 수행한다. 이 경우에도 순서의 제한은 없다.
디지털서명 출력수단(407)에서는 이상에서 연산된 값을 이용하여 [수학식 4]에 기재된 연산을 수행하여 디지털서명 S를 출력한다.
오류메시지 출력수단(404)은 인증값 출력수단(403)으로부터 출력된 값이 0이 아닌 경우에는 디지털서명 출력수단(407)으로부터 서명값이 출력되는 것을 방지하고 오류 메시지를 출력하여 사용자가 서명과정 중에 오류가 발생하였음을 알 수 있도록 한다. 이 경우에도 오류메시지 출력수단(404)에 의하여 오류 메시지를 출력하지 않고 오류가 발생된 디지털 서명을 출력하더라도 오류주입공격은 방지할 수있다.
본 발명의 상기 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상에서 본 발명을 본 발명의 특정한 실시예에 의해 설명하였으나, 본 발명은 이러한 실시예에 한정되지 않고 연산과정에 d의 멱승을 이용한 연산을 포함하는 경우, 즉 CRT가 적용될 수 있는 모든 경우에 적용될 수 있다. 예를 들어 RSA 시스템을 이용하여 암호문 C를 복호화하는 과정은 M = Cdmod n의 연산을 이용하므로 본 발명을 적용할 수 있다.
상기한 바와 같이 본 발명의 CRT에 기초한 RSA 공개키 암호화 방식을 이용한 디지털 서명방법 및 장치에 따르면, 다음과 같은 장점을 가진다.
첫째, 핵심 연산 엔진 (모듈라)의 구조변경이 없이 기존 시스템과 완전 호환성을 가지면서 현재까지 알려진 오류공격을 방어할 수 있다. 이러한 특징으로 인하여 Shamir 것과 같은 랜덤 수 r이 필요 없고, 오류발생 확률도 없어지게 된다.
둘째, 원래의 CRT 방법에 비해 e에 대한 멱승 연산이 추가되나 공개키 e가 작을 경우에는 연산량의 증가가 거의 없다. 실제로는 e가 매우 적으나, 특별한 경우로 e와 d가 동일한 크기일 때를 가정하더라도, 이때 추가되는,의 연산은 CRT를 한번 더 계산하는 양과 비슷하므로, CRT를 사용하지 않는 RSA의 시스템에서의 계산량의 약 1/2 정도밖에 증가하지 않게 된다.
셋째, 검사 과정을 거치는 것이 아니므로 오류공격에 대한 본질적인 불안감도 없으며 하드웨어적인 결함이나 영구적인 결함에도 틀린 서명을 생성하므로 비밀 정보가 누출되지 않는다.

Claims (13)

  1. 소수 p, q를 비밀키로, n = pq를 만족하는 n을 공개키로, Euler totient 함수과 서로 소인 소정의 정수 e를 공개키로,를 만족하는 d를 비밀키로 이용하는 CRT(Chinese Remainder Theorem)에 기초한 RSA(Rivest, Shamir and Adleman) 공개키 암호화 방식을 이용한 디지털 서명 방법에 있어서,
    (a)를 만족하는 x값과, 상기 d를 (p-1)로 모듈러 연산한 dp를 구하고, 메시지 M에 dp승을 한 값을 상기 p로 모듈러 연산하여 Sp를 산출하는 단계;
    (b)를 만족하는 y값과, 상기 d를 (q-1)로 모듈러 연산한 dq를 구하고, 메시지 M에 dq승을 한 값을 상기 q로 모듈러 연산하여 Sq를 산출하는단계;
    (c) 상기 비밀키, 상기 공개키, 상기 Sp, 상기 Sq 및 상기 메시지 M값이 모두 각각 오류가 발생하지 않은 미리 정해진 소정의 값인 경우, 인증값 T의 비트들이 모두 제1논리상태가 되도록 상기 인증값 T를 출력하는 단계;
    (d) 대응되는 비트가 동일한 경우에는 상기 제1논리상태의 비트를 출력하고, 서로 다른 경우에는 상기 제1논리상태와 다른 상태에 있는 제2논리상태의 비트를 출력하는 제1연산자를 이용하여 상기 q값과 상기 인증값 T값을 연산한 제1중간값, 상기 x 및 상기 Sp를 곱하여 S1을 산출하는 단계;
    (e) 상기 제1연산자를 이용하여 상기 p값과 상기 인증값 T값을 연산한 제2중간값, 상기 y 및 상기 Sq를 곱하여 S2를 산출하는 단계; 및
    (f) 상기 S1과, 상기 S2를 상기 n으로 모듈러 연산한 값을 더하여 서명값 S를 출력하는 단계;를 포함하는 것을 특징으로 하는 CRT에 기초한 RSA 공개키 암호화 방식을 이용한 디지털 서명방법.
  2. 소수 p, q를 비밀키로, n = pq를 만족하는 n을 공개키로, Euler totient 함수과 서로 소인 소정의 정수 e를 공개키로,를 만족하는 d를 비밀키로 이용하는 CRT(Chinese Remainder Theorem)에 기초한 RSA(Rivest, Shamir and Adleman) 공개키 암호화 방식을 이용한 디지털 서명 방법에 있어서,
    (a)를 만족하는 x값과, 상기 d를 (p-1)로 모듈러 연산한 dp를구하고, 메시지 M에 dp승을 한 값을 상기 p로 모듈러 연산하여 Sp를 산출하는 단계;
    (b)를 만족하는 y값과, 상기 d를 (q-1)로 모듈러 연산한 dq를 구하고, 메시지 M에 dq승을 한 값을 상기 q로 모듈러 연산하여 Sq를 산출하는 단계;
    (c) 상기 비밀키, 상기 공개키, 상기 Sp, 상기 Sq 및 상기 메시지 M값이 모두 각각 오류가 발생하지 않은 미리 정해진 소정의 값인 경우, 인증값 T의 비트들이 모두 제1논리상태가 되도록 상기 인증값 T를 출력하는 단계;
    (d) 상기 인증값 T를 구성하는 비트들이 모두 상기 제1논리상태에 있는 경우, 대응되는 비트가 동일한 경우에는 상기 제1논리상태의 비트를 출력하고, 서로 다른 경우에는 상기 제1논리상태와 다른 상태에 있는 제2논리상태의 비트를 출력하는 제1연산자를 이용하여 상기 q값과 상기 인증값 T값을 연산한 제1중간값, 상기 x 및 상기 Sp를 곱하여 S1을 산출하는 단계;
    (e) 상기 인증값 T를 구성하는 비트들이 모두 상기 제1논리상태에 있는 경우, 상기 제1연산자를 이용하여 상기 p값과 상기 인증값 T값을 연산한 제2중간값, 상기 y 및 상기 Sq를 곱하여 S2를 산출하는 단계;
    (f) 상기 인증값 T를 구성하는 비트들이 모두 상기 제1논리상태에 있는 경우, 상기 S1과, 상기 S2를 상기 n으로 모듈러 연산한 값을 더하여 서명값 S를 출력하는 단계; 및
    (g) 상기 인증값 T를 구성하는 비트들 중 어느 하나 이상이 상기 제1논리상태에 있지 않은 경우 오류 메시지를 출력하는 단계;를 포함하는 것을 특징으로 하는 CRT에 기초한 RSA 공개키 암호화 방식을 이용한 디지털 서명방법.
  3. 제1항 또는 제2항에 있어서, 상기 (a)단계와 상기 (b) 단계 및 상기 (d)단계와 상기 (e)단계는 각각 병렬로 수행되는 것을 특징으로 하는 CRT에 기초한 RSA 공개키 암호화 방식을 이용한 디지털 서명방법.
  4. 제1항 또는 제2항에 있어서, 상기 (c)단계는
    (c1) 상기 메시지 M에서 상기 Sq를 e승한 값을 q로 모듈러 연산한 값을 빼는 연산을 하여 T1값을 구하는 단계;
    (c2) 상기 메시지 M에서 상기 Sp를 e승한 값을 p로 모듈러 연산한 값을 빼는 연산을 하여 T2값을 구하는 단계;
    (c3) 상기 T1과 T2를 상기 제1연산자를 이용하여 연산하여 T를 구하는 단계;를 포함하는 것을 특징으로 하는 CRT에 기초한 RSA 공개키 암호화 방식을 이용한 디지털 서명방법.
  5. 제3항에 있어서, 상기 (c1)단계와 (c2) 단계는 병렬로 수행되는 것을 특징으로 하는 CRT에 기초한 RSA 공개키 암호화 방식을 이용한 디지털 서명방법.
  6. 제1항 또는 제2항에 있어서, 상기 제1연산자는 배타적 논리합(exclusive OR,XOR)연산자, 덧셈 연산자 또는 뺄셈 연산자인 것을 특징으로 하는 CRT에 기초한 RSA 공개키 암호화 방식을 이용한 디지털 서명방법.
  7. 소수 p, q를 비밀키로, n = pq를 만족하는 n을 공개키로, Euler totient 함수과 서로 소인 소정의 정수 e를 공개키로,를 만족하는 d를 비밀키로 이용하는 CRT(Chinese Remainder Theorem)에 기초한 RSA(Rivest, Shamir and Adleman) 공개키 암호화 방식을 이용한 디지털 서명용 장치에 있어서,
    를 만족하는 x값과, 상기 d를 (p-1)로 모듈러 연산한 dp를 구하고, 메시지 M에 dp승을 한 값을 상기 p로 모듈러 연산하여 Sp를 산출하는 제1연산수단;
    를 만족하는 y값과, 상기 d를 (q-1)로 모듈러 연산한 dq를 구하고, 메시지 M에 dq승을 한 값을 상기 q로 모듈러 연산하여 Sq를 산출하는 제2연산수단;
    상기 비밀키, 상기 공개키, 상기 제1연산수단 및 제2연산수단으로부터 출력된 상기 Sp 및 상기 Sq 및 상기 메시지 M값이 모두 각각 오류가 발생하지 않은 미리 정해진 소정의 값인 경우, 인증값 T의 비트들이 모두 제1논리상태가 되도록 상기 인증값 T를 출력하는 인증값 출력수단;
    대응되는 비트가 동일한 경우에는 상기 제1논리상태의 비트를 출력하고, 서로 다른 경우에는 상기 제1논리상태와 다른 상태에 있는 제2논리상태의 비트를 출력하는 제1연산자를 이용하여 상기 q값과 상기 인증값 출력수단으로부터 출력된 상기 인증값 T값을 연산한 제1중간값, 상기 x 및 상기 Sp를 곱하여 S1을 산출하는 제3연산수단;
    상기 제1연산자를 이용하여 상기 p값과 상기 인증값 출력수단으로부터 출력된 상기 인증값 T값을 연산한 제2중간값, 상기 y 및 상기 Sq를 곱하여 S2를 산출하는 제4연산수단; 및
    상기 제3연산수단으로부터 출력된 상기 S1과, 상기 제4연산수단으로부터 출력된 상기 S2를 상기 n으로 모듈러 연산한 값을 더하여 서명값 S를 출력하는 디지털서명 출력수단;을 포함하는 것을 특징으로 하는 CRT에 기초한 RSA 공개키 암호화 방식을 이용한 디지털 서명용 장치.
  8. 제7항에 있어서, 상기 디지털 서명용 장치는
    상기 인증값 출력수단으로부터 출력된 상기 인증값 T를 구성하는 비트들중 어느 하나 이상이 상기 제1논리상태에 있지 않은 경우 오류 메시지를 출력하는 오류 메시지 출력수단;을 더 구비하고, 상기 오류 메시지 출력수단으로부터 오류 메시지가 출력되는 경우 상기 디지털서명 출력수단은 상기 서명값 S 대신 상기 오류 메시지를 출력하는 것을 특징으로 하는 CRT에 기초한 RSA 공개키 암호화 방식을 이용한 디지털 서명용 장치.
  9. 제7항 또는 제8항에 있어서, 상기 제1연산수단과 상기 제2연산수단 및 상기제3연산수단과 상기 제4연산수단은 각각 병렬로 동작을 수행하는 것을 특징으로 하는 CRT에 기초한 RSA 공개키 암호화 방식을 이용한 디지털 서명용 장치.
  10. 제7항 또는 제8항에 있어서, 상기 인증값 출력수단은
    상기 메시지 M에서 상기 Sq를 e승한 값을 q로 모듈러 연산한 값을 빼는 연산을 하여 T1값을 구하는 인증값출력 제1수단;
    상기 메시지 M에서 상기 Sp를 e승한 값을 p로 모듈러 연산한 값을 빼는 연산을 하여 T2값을 구하는 인증값출력 제1수단; 및
    상기 T1과 T2를 상기 제1연산자를 이용하여 연산하여 T를 구하는 인증값출력 제3수단;을 포함하는 것을 특징으로 하는 CRT에 기초한 RSA 공개키 암호화 방식을 이용한 디지털 서명용 장치.
  11. 제10항에 있어서, 상기 인증값출력 제1수단과 상기 인증값출력 제2수단은 병렬로 동작을 수행하는 것을 특징으로 하는 CRT에 기초한 RSA 공개키 암호화 방식을 이용한 디지털 서명용 장치.
  12. 제7항 또는 제8항에 있어서, 상기 제1연산자는 배타적 논리합(exclusive OR, XOR)연산자, 덧셈 연산자 또는 뺄셈 연산자인 것을 특징으로 하는 CRT에 기초한 RSA 공개키 암호화 방식을 이용한 디지털 서명용 장치.
  13. 제1항, 제2항 및 제5항 중 어느 한 항에 기재된 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR10-2002-0010256A 2002-02-26 2002-02-26 Crt에 기초한 rsa 공개키 암호화 방식을 이용한디지털 서명방법 및 그 장치 KR100431047B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR10-2002-0010256A KR100431047B1 (ko) 2002-02-26 2002-02-26 Crt에 기초한 rsa 공개키 암호화 방식을 이용한디지털 서명방법 및 그 장치
DE60218421T DE60218421T2 (de) 2002-02-26 2002-12-10 Verfahren und Vorrichtung zur Erzeugung von Digitalsignaturen
AT02102713T ATE355672T1 (de) 2002-02-26 2002-12-10 Verfahren und vorrichtung zur erzeugung von digitalsignaturen
EP02102713A EP1347596B1 (en) 2002-02-26 2002-12-10 Digital signature methods and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0010256A KR100431047B1 (ko) 2002-02-26 2002-02-26 Crt에 기초한 rsa 공개키 암호화 방식을 이용한디지털 서명방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20030070733A KR20030070733A (ko) 2003-09-02
KR100431047B1 true KR100431047B1 (ko) 2004-05-12

Family

ID=27785954

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0010256A KR100431047B1 (ko) 2002-02-26 2002-02-26 Crt에 기초한 rsa 공개키 암호화 방식을 이용한디지털 서명방법 및 그 장치

Country Status (4)

Country Link
EP (1) EP1347596B1 (ko)
KR (1) KR100431047B1 (ko)
AT (1) ATE355672T1 (ko)
DE (1) DE60218421T2 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100953715B1 (ko) 2008-01-22 2010-04-19 고려대학교 산학협력단 Crt-rsa 모듈라 지수승 알고리즘을 이용한 디지털서명 방법, 그 장치 및 이를 기록한 컴퓨터 판독가능 저장매체
KR100954844B1 (ko) 2008-10-07 2010-04-28 고려대학교 산학협력단 오류 주입 공격에 안전한 crt-rsa 모듈러 지수승 알고리즘을 이용한 디지털 서명 방법, 그 장치 및 이를 기록한 기록매체
KR101558201B1 (ko) 2012-02-10 2015-10-12 한국전자통신연구원 Crt-rsa 암호 연산에서의 오류 주입 공격 방지 방법 및 그 기록매체
US9571281B2 (en) 2014-02-03 2017-02-14 Samsung Electronics Co., Ltd. CRT-RSA encryption method and apparatus

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100441397B1 (ko) * 2002-10-31 2004-07-23 소프트포럼 주식회사 메시지의 인증 및 암호화 방법
KR100619025B1 (ko) * 2004-06-03 2006-08-31 삼성전자주식회사 구성원 비밀 정보 할당 방법, 할당된 비밀 정보를 이용한 키 합의 방법, 및 할당된 비밀 정보를 이용한 구성원 인증 방법
DE102005038228A1 (de) * 2005-08-12 2007-02-15 Giesecke & Devrient Gmbh Geschütztes kryptographisches Verfahren
KR101020416B1 (ko) * 2009-02-20 2011-03-09 성균관대학교산학협력단 소스인증 및 부인방지를 제공하는 수신제한 시스템 및 그 방법
KR101112570B1 (ko) * 2010-04-12 2012-03-13 고려대학교 산학협력단 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 장치, 방법 및 그 기록 매체

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08251155A (ja) * 1995-03-08 1996-09-27 Nippon Telegr & Teleph Corp <Ntt> 暗号装置および復号化装置および暗号・復号化装置および暗号システム
JPH0946332A (ja) * 1995-07-26 1997-02-14 Philips Electron Nv Rsa型手順により暗号化された通信文用通信システム
JPH118616A (ja) * 1997-06-17 1999-01-12 Dainippon Printing Co Ltd 故障利用攻撃対応icカード
US5991415A (en) * 1997-05-12 1999-11-23 Yeda Research And Development Co. Ltd. At The Weizmann Institute Of Science Method and apparatus for protecting public key schemes from timing and fault attacks
US6304658B1 (en) * 1998-01-02 2001-10-16 Cryptography Research, Inc. Leak-resistant cryptographic method and apparatus
KR20030061497A (ko) * 2002-01-14 2003-07-22 한국정보보호진흥원 중국인 나머지 정리(crt) 기반의 오류 공격에 대응하는 방법 및 그 장치

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08251155A (ja) * 1995-03-08 1996-09-27 Nippon Telegr & Teleph Corp <Ntt> 暗号装置および復号化装置および暗号・復号化装置および暗号システム
JPH0946332A (ja) * 1995-07-26 1997-02-14 Philips Electron Nv Rsa型手順により暗号化された通信文用通信システム
US5991415A (en) * 1997-05-12 1999-11-23 Yeda Research And Development Co. Ltd. At The Weizmann Institute Of Science Method and apparatus for protecting public key schemes from timing and fault attacks
JPH118616A (ja) * 1997-06-17 1999-01-12 Dainippon Printing Co Ltd 故障利用攻撃対応icカード
US6304658B1 (en) * 1998-01-02 2001-10-16 Cryptography Research, Inc. Leak-resistant cryptographic method and apparatus
KR20030061497A (ko) * 2002-01-14 2003-07-22 한국정보보호진흥원 중국인 나머지 정리(crt) 기반의 오류 공격에 대응하는 방법 및 그 장치

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100953715B1 (ko) 2008-01-22 2010-04-19 고려대학교 산학협력단 Crt-rsa 모듈라 지수승 알고리즘을 이용한 디지털서명 방법, 그 장치 및 이를 기록한 컴퓨터 판독가능 저장매체
KR100954844B1 (ko) 2008-10-07 2010-04-28 고려대학교 산학협력단 오류 주입 공격에 안전한 crt-rsa 모듈러 지수승 알고리즘을 이용한 디지털 서명 방법, 그 장치 및 이를 기록한 기록매체
KR101558201B1 (ko) 2012-02-10 2015-10-12 한국전자통신연구원 Crt-rsa 암호 연산에서의 오류 주입 공격 방지 방법 및 그 기록매체
US9571281B2 (en) 2014-02-03 2017-02-14 Samsung Electronics Co., Ltd. CRT-RSA encryption method and apparatus

Also Published As

Publication number Publication date
DE60218421D1 (de) 2007-04-12
KR20030070733A (ko) 2003-09-02
EP1347596B1 (en) 2007-02-28
DE60218421T2 (de) 2007-11-15
ATE355672T1 (de) 2006-03-15
EP1347596A1 (en) 2003-09-24

Similar Documents

Publication Publication Date Title
CA2792787C (en) System and method for protecting cryptographic assets from a white-box attack
Biham et al. Bug attacks
EP0946018B1 (en) Scheme for fast realization of a decryption or an authentication
US7986778B2 (en) Cryptographic method and apparatus
US8983064B2 (en) Strengthened public key protocol
Boyd et al. Elliptic curve based password authenticated key exchange protocols
US9800418B2 (en) Signature protocol
US7248700B2 (en) Device and method for calculating a result of a modular exponentiation
US9088419B2 (en) Keyed PV signatures
US8705740B2 (en) Elliptic curve-based message authentication code system and method
KR100652377B1 (ko) 모듈라 지수승 알고리즘, 기록매체 및 시스템
KR100431047B1 (ko) Crt에 기초한 rsa 공개키 암호화 방식을 이용한디지털 서명방법 및 그 장치
US7248692B2 (en) Method of and apparatus for determining a key pair and for generating RSA keys
Heninger RSA, DH, and DSA in the Wild
Young et al. A space efficient backdoor in RSA and its applications
EP2395698A1 (en) Implicit certificate generation in the case of weak pseudo-random number generators
KR100953715B1 (ko) Crt-rsa 모듈라 지수승 알고리즘을 이용한 디지털서명 방법, 그 장치 및 이를 기록한 컴퓨터 판독가능 저장매체
Zhong An overview of rsa and oaep padding
KR100953716B1 (ko) Crt-rsa 기반의 비트 연산을 이용한 디지털 서명방법, 그 장치 및 이를 기록한 기록 매체
CA2453081C (en) Method and apparatus for protecting ntru against a timing attack
Lone et al. Common attacks on RSA and its variants with possible countermeasures
Menezes Evaluation of Security Level of Cryptography: RSAOAEP, RSAPSS, RSA Signature
KR20050102291A (ko) 부가채널 공격들로부터 공개키 암호 시스템을 보호하기위한 방법과 장치, 및 상기 방법을 기록한 컴퓨터로 읽을수 있는 기록매체
US20220329439A1 (en) Method for generating digital signatures
CA2892318C (en) Signature protocol

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: 20100429

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee