KR20110113965A - 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 장치, 방법 및 그 기록 매체 - Google Patents

전력 분석 및 오류 주입 공격에 안전한 디지털 서명 장치, 방법 및 그 기록 매체 Download PDF

Info

Publication number
KR20110113965A
KR20110113965A KR1020100033335A KR20100033335A KR20110113965A KR 20110113965 A KR20110113965 A KR 20110113965A KR 1020100033335 A KR1020100033335 A KR 1020100033335A KR 20100033335 A KR20100033335 A KR 20100033335A KR 20110113965 A KR20110113965 A KR 20110113965A
Authority
KR
South Korea
Prior art keywords
value
data pair
intermediate value
signature
operator
Prior art date
Application number
KR1020100033335A
Other languages
English (en)
Other versions
KR101112570B1 (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 KR1020100033335A priority Critical patent/KR101112570B1/ko
Publication of KR20110113965A publication Critical patent/KR20110113965A/ko
Application granted granted Critical
Publication of KR101112570B1 publication Critical patent/KR101112570B1/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/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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명의 일 실시 예에 따른 디지털 서명 장치는 N=pq를 만족하는 서로 다른 두 소수인 비밀키 p와 q, 오일러의 totient 함수
Figure pat00268
을 이용하는 CRT-RSA 모듈러 지수승 알고리즘을 이용한 디지털 서명 장치에 있어서, 인증된 수신자에게 전송하고자 하는 메시지 m, 서로 다른 두 소수 p와 q, 비밀키 d, d를 p-1로 모듈러 연산한 dp, d를 q-1로 모듈러 연산한 dq, p와 q의 합인 T1을 수신하고, 제1 정수 k 및 제2 정수 r을 랜덤하게 선택하는 초기화부; 초기화부의 값들을 이용하여 제1 데이터 쌍
Figure pat00269
, 제2 데이터 쌍
Figure pat00270
, 서명 연산자를 연산하는 지수승 연산부; 제1 데이터 쌍의
Figure pat00271
와 제2 데이터 쌍의
Figure pat00272
를 입력값으로 중국인의 나머지 정리를 이용하여 제1 중간값
Figure pat00273
를 산출하고, 제1 데이터 쌍의
Figure pat00274
와 제2 데이터 쌍의
Figure pat00275
를 입력값으로 중국인의 나머지 정리를 이용하여 제2 중간값
Figure pat00276
를 산출하는 중간값 연산부;
Figure pat00277
의 비트열 길이와 N의 비트열 길이에 따라 결정된 제로 비트 생성 인자
Figure pat00278
,
Figure pat00279
의 보수
Figure pat00280
, p 및 q'를 이용하여 중간 연산자
Figure pat00281
를 연산하는 중간 연산자 연산부;
Figure pat00282
Figure pat00283
의 논리곱 연산을 수행하여 제1 중간값을 갱신하는 제1 중간값 갱신부;
Figure pat00284
Figure pat00285
로 나눈값과 제2 중간값을 논리곱 연산을 수행하여 제2 중간값을 갱신하는 제2 중간값 갱신부; 및 서명 연산자를
Figure pat00286
에 곱하여 최종 서명값을 생성하는 서명값 생성부를 포함한다.

Description

전력 분석 및 오류 주입 공격에 안전한 디지털 서명 장치, 방법 및 그 기록 매체 {Apparatus and Method for digital signature immune to power analysis and fault attacks, and Recording medium thereof}
본 발명은 암호 알고리즘 및 암호 프로토콜에 관한 것으로, 특히, 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 장치, 방법 및 그 기록 매체에 관한 것이다.
공개키 암호 알고리즘은 개선된 암호화 표준(Advanced Encryption Standard:AES)을 포함하는 비밀키 암호 알고리즘의 단점인 키 분배 문제, 전자 서명 문제 등을 해결하면서 인터넷이나 금융 망과 같은 여러 분야의 응용에 빠르게 적용이 되어 가고 있다.
전송되는 내용을 암호화하여 전송하는 방식에는 대칭키 암호화 방식과 공개키 암호화 방식이 있고, 공개키 암호화 방식 중에서 현재 인터넷이나 금융계 중에서 표준으로 선택되어 널리 사용되고 있는 방식으로는 RSA(Rivest Shamir Adleman) 공개키 암호화 방식이 있다.
RSA 공개키 암호화 방식은 Rivest, Shamir 및 Adleman에 의해 제안된 방식으로 암호화문에 따른 데이터의 크기가 커질수록 소인수 분해가 어렵다는 점에 그 안전도의 기반을 두고 있다.
한편, Kocher에 의하여 부채널 공격이 소개된 후, 내장형 장치(embedded device)의 암호 알고리즘에 대한 다양한 공격 방법이 소개되었다. 수동적인 공격 방법으로 분류되는 부채널 공격은 공격자가 알고리즘 수행 시간, 알고리즘의 동작 중에 사용되는 전력량, 그리고 전자파를 이용하여 공격하며 이를 각 시간 공격(Timing Attack:TA), 단순 전력 분석(Simple Power Analysis:SPA), 차분 전력 분석(Differential Power Analysis:DPA), 전자파 분석(Electro-Magnetic Analysis:EMA)이라고 한다.
능동적인 공격은 변형된 외부 클럭을 주입하거나, 온도를 변화시키거나 장치에 X-ray와 같은 레이저를 이용하여 공격하며, 이와 같이 능동적인 공격 방법을 오류 주입 공격(Fault Attack:FA)이라고 한다.
Bellcore에 의해 중국인의 나머지 정리(Chinese Remainder Theorem:CRT)를 이용한 RSA 암호 시스템(CRT-RSA)에서의 오류 주입 공격 방법이 제시된 후, 최근 DES, RSA, ElGamal, ECC, AES 등 다양한 암호 알고리즘이 오류 주입 공격 방법에 의해 공격되었다.
한편, CRT-RSA에서의 오류 주입 공격 방법에 대해서 스마트 카드의 사용이 증가하면서 효율적인 부채널 공격과 오류 주입 공격에 안전한 대응 방법이 요구되고, 스마트 카드와 같은 내장형 장치에는 연산 능력과 메모리가 제한적이기 때문에 적은 메모리와 연산량을 사용하는 효율적인 대응 방법이 요구되며 이에 대한 연구가 많이 진행되었다.
최근 Giraud가 처음으로 전력 분석 공격 방법 중 하나인 단순 전력 공격 분석과 오류 주입 공격에 안전한 방법을 제안하였다.
Giraud 방법에서의 지수승 알고리즘은 단순 전력 분석과 오류 주입 공격에 안전한 Montgomery Ladder 방법을 이용하여 연산되고, 개인키만을 이용하여 오류 주입을 확인하게 된다. 따라서 개인키 만을 사용할 수 있는 자바 카드(Java card)의 공개키 환경에서도 안전하게 사용될 수 있다.
전술한 바와 같이, RSA 공개키 암호화 방식에서는 일반 공개키 암호화 방식에서와 같이 일반인도 알 수 있는 공개키와 암호화를 시키는 본인만이 알 수 있는 비밀키가 있다.
상기 CRT-RSA 암호화에 방식에서의 오류 주입 공격을 소개하기로 한다.
개인키 d, 및 메시지 m에 대한 RSA 서명값 S는
Figure pat00001
이다. 여기서 n은 공개 모듈라값이고, 비밀값인 큰 소수 p와 q의 곱으로 연산된다.
한편, 암호화 표준에서는 RSA 서명 생성과정의 속도를 향상하기 위하여 중국인의 나머지 정리(Chinese Remainder Theorem:CRT)를 이용한 RSA 암호 시스템(CRT-RSA)을 사용하기를 권고 하고 있다.
도 1에 따른 알고리즘 1에서 단계 3을
Figure pat00002
로 표기하고,
Figure pat00003
Figure pat00004
이고,
Figure pat00005
Figure pat00006
이 된다.
상기 도 1에 의하면, 서명값 S의 생성 속도는 향상되나, 최근 연구 논문들에 의하여 오류 주입 공격에 안전하지 않다는 것이 알려졌다. 여기서, 오류 주입 공격을 상술하기 전에 기호를 정의하기로 한다.
첫 번째로, 연산의 중간값
Figure pat00007
에 오류
Figure pat00008
가 주입된 경우를
Figure pat00009
라고 표기하고, 이를 하기의 수학식 1로 정의한다.
Figure pat00010
따라서, 상기 수학식 1에 의하여
Figure pat00011
을 만족한다.
한편, CRT-RSA의 오류 주입 공격시의 중간값들도 하기와 같이 표현된다. 상기 표 1의 알고리즘 1에서 단계 1에서 오류가 주입된 제 1 중간 결과값은
Figure pat00012
이고, 단계 2의 중간 결과값은
Figure pat00013
이며, 오류가 주입된 CRT 연산 결과값
Figure pat00014
Figure pat00015
에 의해 연산된다. 여기서,
Figure pat00016
을 연산하면, 비밀값인 q를 얻을 수 있다.
이러한 공격 방법이 소개된 후, 샤미르(Shamir)가 CRT-RSA 암호 시스템에 대한 오류 주입 공격에 대한 대응 방법을 제안하였다. 샤미르가 제안하는 방법은 32비트 정도의 랜덤한 값 r을 선택한 후에
Figure pat00017
,
Figure pat00018
을 연산하고, CRT 연산 전에
Figure pat00019
을 만족하는지를 확인하는데,
Figure pat00020
또는
Figure pat00021
에서 오류가 발생하였을 경우에는
Figure pat00022
의 연산 단계를 통과하지 못하기 때문에 오류 주입 여부를 확인할 수 있다.
이하는, 오류 주입의 대응 방법으로 알려진 대표적인 CRT-RSA 알고리즘을 살펴본다. 기존의 방법들은 비교 연산을 사용하는 방법과 비교 연산을 사용하지 않는 방법으로 나눌 수 있다.
우선, 비교 연산을 사용하는 대응 방법을 살펴보기로 한다. Giraud의 방법에 의하면, SPA에 안전한 몽고메리 래더(Montgomery ladder) 지수승 연산 방법과 두 번의 CRT 연산을 이용하여
Figure pat00023
Figure pat00024
을 연산하고,
Figure pat00025
가 되는 것과 나머지 메모리 공간의 오류주입을 확인하여 결과를 출력하게 된다.
한편,
Figure pat00026
의 값은
Figure pat00027
로 정의하기로 한다.
그 다음은, BNP에 의한 방법으로, BNP 방법은 지수승 연산에서 오류가 주입되지 않았을 경우의 각 메모리 공간의 값이
Figure pat00028
가 되는 것을 이용하여
Figure pat00029
이 되는 것을 확인하여 결과값을 출력하게 된다. 이 방법 외에도 대부분의 CRT-RSA 알고리즘의 대응 방법이 비교 연산을 통하여 오류를 확인한다.
하기는 비교 연산을 사용하지 않는 오류 주입에 대한 대응 방법에 대한 상술이다. 우선, 옌(Yen)의 방법으로, 이는
Figure pat00030
의 추가적인 메모리 공간을 이용하여 비교 연산을 사용하지 않고, 이외의 메모리에 오류가 발생하였을 경우, 오류 확산이라는 방법을 통하여 오류가 발생된 출력 값을 가지고는 비밀 정보를 알 수 없게 하는 방법이다.
이와 같은 기존의 CRT-RSA 대응 방법은 아래와 같이 크게 3 단계의 연산 과정으로 구분할 수 있다. 첫 번째는
Figure pat00031
Figure pat00032
의 연산 과정이고, 두 번째는
Figure pat00033
의 연산 과정이고, 세 번째는 오류 주입의 여부 확인 과정이다. 각 단계마다 다양한 오류주입 공격이 가능하므로 안전한 CRT-RSA 알고리즘을 설계하기 위해서는 각 단계마다 다양한 오류 주입의 공격에 모두 안전하여야 한다.
CRT-RSA 암호화 과정에서 고려하는 하드웨어 오류 주입 공격 방법은 아래와 같다. 첫 번째는, 데이터 랜덤화(Data Randomization)에 관한 것으로, 연산에 필요한 데이터를 랜덤 값으로 오류를 주입하는 공격방법이다. 이 때, 공격자는 랜덤값을 알 수 없고, 데이터가 저장되어 있는 메모리 공간에 오류를 주입하여 공격자는 지속적 오류와 메모리를 참조할 경우의 오류를 발생하는 일시적 오류로 나눌 수 있다.
두 번째는, 데이터 리셋(Resetting Data)에 관한 것으로, 공격자가 알 수 없는 랜덤으로 데이터를 변화하는 데이터 랜덤화와는 달리 데이터의 각 비트를 '0' 또는 '1'로 데이터를 리셋하는 공격방법이다.
세 번째는, 옵코드 변경(opcode Modifying)에 관한 것으로, 수행하는 명령어를 스킵하여 오류가 주입된 서명값을 출력하도록 함으로써 비밀 정보를 알아낸다
최초, 오류 주입 공격이 개시되었을 경우에는 한 번의 오류 주입의 공격만 고려하였지만, 현재 실험을 통하여 두 번의 서로 다른 연산에 오류가 주입되는 것까지 고려하게 된다. 예를 들어, 한번의 공격에서 특정 메모리에는 랜덤하게 오류가 주입되고, 다른 메모리에는 '0'으로 리셋되는 경우를 고려하게 된다
각각의 오류주입 공격에 대한 기존 대응 방법의 안전성은 다음과 같다. 우선, ABFHS, Ciet, Giraud BNP의 경우는 3번째 단계인 오류 주입 확인 과정을 수행하기 위하여 비료 연산을 수행하게 된다. 이 경우는 비교 연산으로 인한 옵코드 변형(modifying opcode) 공격이 가능하다.
비교 연산의 안전성을 살펴보면, 실제로 비교 연산(a=b)의 연산 과정은 c=a-b의 단계와 c=0 인지를 확인하는 두 단계의 과정으로 나눌 수 있다. 만약, 공격자가 하기와 같은 두 개의 오류를 CRT 기반의 RSA 서명 생성 과정에 주입하게 되면 공격자는 비밀 정보를 알 수 있다. 첫 번째 오류는 서명 값을 생성하는 중간 과정에서 발생하는 오류이다. 그리고, 두 번째 오류는 c=0을 확인하는 과정에 주입하여, c=0을 확인하는 과정을 건너뛰게 하는 것이다.
종래 연구에서 실험을 통하여 두 번째 오류 주입이 가능함이 확인되었고, 비교 연산을 이용한 알고리즘의 경우, 첫 번째 오류 확인을 비교 연산을 통하여 확인하게 되는데, 두 번째 오류 과정을 통하여 첫 번째 오류가 무조건 통과하게 되므로 공격자는 비밀 정보를 얻을 수 있게 된다.
한편, ABFHS, Yen, BNP의 경우에는 특정 메모리에 랜덤하게 오류가 주입된 경우 p 또는 q의 값을 알 수 있게 된다. 예를 들어, 도 2의 Yen의 알고리즘에서
Figure pat00034
,
Figure pat00035
의 경우에는 공격자는 p 또는 q의 값을 알 수 있게 된다. 다시 말하면, 특정 메모리가 p 또는 q 연산에 모두 사용되지 않아서, 오류가 주입된 경우에 gcd 연산을 통하여 비밀값을 알 수 있게 된다.
이는, 도 2의 단계 3에서,
Figure pat00036
이므로, 서명값은 하기의 수학식 2와 같이 생성된다.
Figure pat00037
따라서,
Figure pat00038
를 만족하게 된다. 그러므로,
Figure pat00039
값을 사용하기 위하여 메모리에 접근할 경우 발생한 오류나
Figure pat00040
값을 연산할 때 발생하는 오류의 경우에는 안전하지 않다.
최근 이러한 문제를 해결하기 위해 CHK 알고리즘이 제안되었으나, 알고리즘 수행 과정의 연산 부하가 지나치게 크다. 따라서, 종래의 CRT-RSA 알고리즘은 연산 부하가 지나치게 크거나 데이터 랜덤화, 데이터 리셋, 옵코드의 변경 등에 안전하지 않아, 암호화에 대한 신뢰도 및 안전성을 보장할 수 없다는 문제점을 안고 있다.
따라서, 본 발명이 이루고자 하는 첫 번째 기술적 과제는 연산 부하가 크지 않으면서 데이터 랜덤화, 데이터 리셋, 옵코드의 변경 등에 대해 안전성을 향상시킬 수 있는, 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 장치를 제공하는 데 있다.
본 발명이 이루고자 하는 두 번째 기술적 과제는 상기의 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 장치에 적용되는 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 방법을 제공하는 데 있다.
본 발명이 이루고자 하는 세 번째 기술적 과제는 상기의 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 방법을 컴퓨터에서 실행시키기 위한 프로그램을 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다.
상기의 첫 번째 기술적 과제를 이루기 위하여, 본 발명의 일 실시 예에 따른 디지털 서명 장치는 N=pq를 만족하는 서로 다른 두 소수인 비밀키 p와 q, 오일러의 totient 함수
Figure pat00041
을 이용하는 CRT-RSA 모듈러 지수승 알고리즘을 이용한 디지털 서명 장치에 있어서, 인증된 수신자에게 전송하고자 하는 메시지 m, 상기 서로 다른 두 소수 p와 q, 비밀키 d, 상기 d를 p-1로 모듈러 연산한 dp, 상기 d를 q-1로 모듈러 연산한 dq, 상기 p와 q의 합인 T1을 수신하고, 제1 정수 k 및 제2 정수 r을 랜덤하게 선택하는 초기화부; 상기
Figure pat00042
을 이용하여 제1 데이터 쌍
Figure pat00043
을 연산하고,
Figure pat00044
을 이용하여 제2 데이터 쌍
Figure pat00045
을 연산하며,
Figure pat00046
을 이용하여 서명 연산자를 연산하는 지수승 연산부; 상기 제1 데이터 쌍의
Figure pat00047
와 상기 제2 데이터 쌍의
Figure pat00048
를 입력값으로 중국인의 나머지 정리를 이용하여 제1 중간값
Figure pat00049
를 산출하고, 상기 제1 데이터 쌍의
Figure pat00050
와 상기 제2 데이터 쌍의
Figure pat00051
를 입력값으로 중국인의 나머지 정리를 이용하여 제2 중간값
Figure pat00052
를 산출하는 중간값 연산부; 상기
Figure pat00053
의 비트열 길이와 상기 N의 비트열 길이에 따라 결정된 제로 비트 생성 인자
Figure pat00054
, 상기
Figure pat00055
의 보수
Figure pat00056
, 상기 p 및 q'를 이용하여 중간 연산자
Figure pat00057
를 연산하는 중간 연산자 연산부; 상기
Figure pat00058
Figure pat00059
의 논리곱 연산을 수행하여 상기 제1 중간값을 갱신하는 제1 중간값 갱신부; 상기
Figure pat00060
Figure pat00061
로 나눈값과 상기 제2 중간값을 논리곱 연산을 수행하여 상기 제2 중간값을 갱신하는 제2 중간값 갱신부; 및 상기 서명 연산자를
Figure pat00062
에 곱하여 최종 서명값을 생성하는 서명값 생성부를 포함한다.
상기의 두 번째 기술적 과제를 이루기 위하여, 본 발명의 일 실시 예에 따른 디지털 서명 방법은 N=pq를 만족하는 서로 다른 두 소수인 비밀키 p와 q, 오일러의 totient 함수
Figure pat00063
을 이용하는 CRT-RSA 모듈러 지수승 알고리즘을 이용한 디지털 서명 방법에 있어서, 인증된 수신자에게 전송하고자 하는 메시지 m, 상기 서로 다른 두 소수 p와 q, 비밀키 d, 상기 d를 p-1로 모듈러 연산한 dp, 상기 d를 q-1로 모듈러 연산한 dq, 상기 p와 q의 합인 T1을 수신하고, 제1 정수 k 및 제2 정수 r을 랜덤하게 선택하는 단계; 상기
Figure pat00064
을 이용하여 제1 데이터 쌍
Figure pat00065
을 연산하고, 상기
Figure pat00066
을 이용하여 제2 데이터 쌍
Figure pat00067
을 연산하며,
Figure pat00068
을 이용하여 서명 연산자를 연산하는 단계; 상기 제1 데이터 쌍의
Figure pat00069
와 상기 제2 데이터 쌍의
Figure pat00070
를 입력값으로 중국인의 나머지 정리를 이용하여 제1 중간값
Figure pat00071
를 산출하고, 상기 제1 데이터 쌍의
Figure pat00072
와 상기 제2 데이터 쌍의
Figure pat00073
를 입력값으로 중국인의 나머지 정리를 이용하여 제2 중간값
Figure pat00074
를 산출하는 단계; 상기
Figure pat00075
의 비트열 길이와 상기 N의 비트열 길이에 따라 결정된 제로 비트 생성 인자
Figure pat00076
, 상기
Figure pat00077
의 보수
Figure pat00078
, 상기 p 및 q'를 이용하여 중간 연산자
Figure pat00079
를 생성하는 단계; 상기
Figure pat00080
Figure pat00081
의 논리곱 연산을 수행하여 상기 제1 중간값을 갱신하는 단계; 상기
Figure pat00082
Figure pat00083
로 나눈값과 상기 제2 중간값을 논리곱 연산을 수행하여 상기 제2 중간값을 갱신하는 단계; 및 상기 서명 연산자를
Figure pat00084
에 곱하여 최종 서명값을 생성하는 단계를 포함한다.
본 발명에 의하면, 대표적인 오류 주입 공격인 SPA, DPA, FA에 모두 안전한 서명 생성 기법을 제공하여 암호화의 신뢰성 및 안전성을 제공하며, 종래의 CRT-RSA 암호화 알고리즘에 비하여 연산량을 감소시켜 빠른 연산 처리 속도를 제공할 수 있다.
도 1 및 2는 종래의 CRT-RSA 알고리즘의 예를 도시한 것이다.
도 3은 본 발명의 일 실시 예에 따른 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 장치의 블록도이다.
도 4는 본 발명에 따른 지수승 알고리즘을 도시한 것이다.
도 5는 본 발명에 따른 CRT-RSA 모듈러 지수승 알고리즘을 이용한 디지털 서명 방법의 알고리즘이다.
도 6은 비트 연산을 통해 올바른 서명값을 얻는 과정을 도시한 것이다.
도 7은 본 발명의 일 실시 예에 따른 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 방법의 흐름도이다.
도 8은 기존의 알고리즘과 본 발명의 일 실시 예에 따른 알고리즘의 연산 복잡도 및 안전성을 비교한 것이다.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시 예를 설명하기로 한다. 그러나, 다음에 예시하는 본 발명의 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 상술하는 실시 예에 한정되는 것은 아니다.
이하에서 송신자는 스마트 카드 기타 인증 정보나 개인 정보를 저장하는 장치를 의미한다. 수신자는 송신자로부터 수신되는 정보를 이용하여 송신자를 검증하는 장치나 서버 등을 의미한다.
본 발명의 실시 예들은 N=pq를 만족하는 서로 다른 소수 두 p와 q를 비밀키로 이용하고, 오일러의 totient 함수
Figure pat00085
, 비밀키 d를 이용하는 오류 주입 공격에 안전한 CRT-RSA 모듈러 지수승 알고리즘을 이용한 디지털 서명 방법 및 장치에 관한 것이다.
도 3은 본 발명의 일 실시 예에 따른 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 장치의 블록도이다.
초기화부(310)는 인증된 수신자에게 전송하고자 하는 메시지 m, 서로 다른 두 소수 p와 q, 비밀키 d, 비밀키 d를 p-1로 모듈러 연산한 dp, 비밀키 d를 q-1로 모듈러 연산한 dq, p와 q의 합인 T1,
Figure pat00086
등의 암호화 인자를 수신한다. 또한, 초기화부(310)는 제1 정수 k 및 제2 정수 r을 랜덤하게 선택한다.
지수승 연산부(320)는
Figure pat00087
을 이용하여 제1 데이터 쌍
Figure pat00088
을 연산한다. 본 발명의 지수승 연산부(320)는 체크섬을 사용하지 않으므로 기존 지수승 연산 방법에 비해 메모리 공간과 계산의 복잡도를 줄일 수 있다.
또한, 지수승 연산부(320)는
Figure pat00089
을 이용하여 제2 데이터 쌍
Figure pat00090
을 연산한다. 한편, 지수승 연산부(320)는
Figure pat00091
을 이용하여 서명 연산자를 연산한다.
중간값 연산부(330)는
Figure pat00092
Figure pat00093
를 입력값으로 중국인의 나머지 정리를 이용하여 제1 중간값
Figure pat00094
를 산출하고,
Figure pat00095
Figure pat00096
를 입력값으로 중국인의 나머지 정리를 이용하여 제2 중간값
Figure pat00097
를 산출한다.
중간 연산자 연산부(340)는
Figure pat00098
의 비트열 길이와 N의 비트열 길이에 따라 결정된 제로 비트 생성 인자
Figure pat00099
,
Figure pat00100
의 보수
Figure pat00101
, p 및 q'를 이용하여 중간 연산자
Figure pat00102
를 연산한다.
제1 중간값 갱신부(351)는
Figure pat00103
Figure pat00104
Figure pat00105
의 논리곱 연산을 수행하여 제1 중간값을 갱신한다.
제2 중간값 갱신부(352)는
Figure pat00106
Figure pat00107
로 나눈값과 제2 중간값을 논리곱 연산을 수행하여 제2 중간값을 갱신한다.
서명값 생성부(360)는 지수승 연산부(320)에서 연산된 서명 연산자를
Figure pat00108
에 곱하여 최종 서명값을 생성한다.
Figure pat00109
는 XOR 연산자를 의미한다.
한편, 도 3의 서명 장치는 송신자에 해당한다. 이하에서는 이와 같이 송신자 측의 서명 장치에서 수행되는 알고리즘의 예를 구체적으로 설명한다.
도 4는 본 발명에 따른 지수승 알고리즘을 도시한 것이다.
도 4의 지수승 알고리즘은
Figure pat00110
의 값을 입력받고,
Figure pat00111
을 연산한다.
Figure pat00112
의 값은 p와 q에 대한 오류 주입을 확인하기 위한 값이다. 도 4의 지수승 알고리즘은 체크섬을 사용하지 않으므로 기존 지수승 연산 알고리즘에 비해 메모리 공간과 계산의 복잡도를 줄일 수 있다. 상세한 설명은 하기에 더욱 상술하기로 한다. 도 4의 알고리즘은 CRT-RSA 연산에서 역원 계산을 하지 않도록 설계된 것이다. 또한, 도 4의 알고리즘은 SPA의 경우, 지수승 알고리즘의 경우 분기점을 사용하지 않기 때문에 안전한 방법이다. 그리고, DPA의 경우, 랜덤 값을 사용하여 중간 연산 값을 알 수 없으므로 DPA에 안전한 알고리즘이다.
도 5는 본 발명에 따른 CRT-RSA 모듈러 지수승 알고리즘을 이용한 디지털 서명 방법의 알고리즘이다. 도 5에서, 입력값은
Figure pat00113
등이다. 여기서,
Figure pat00114
이다.
단계 1은 랜덤값 k, r을 선택하고, 중간 연산자
Figure pat00115
를 0으로 초기화하는 과정이다.
단계 2는 단계 1에서 선택된 k, r과
Figure pat00116
을 이용하여 제1 데이터 쌍
Figure pat00117
, 제2 데이터 쌍
Figure pat00118
Figure pat00119
을 연산한다.
보다 상세하게는, 도 3의 입력값
Figure pat00120
의 인자를 순서대로 제1 데이터 집합인
Figure pat00121
로 대체함으로써 도 3의 알고리즘을 기반으로 제1 데이터 쌍
Figure pat00122
을 생성한다. 제1 데이터 쌍
Figure pat00123
는 하기의 수학식 3과 같은 값을 가지게 된다.
Figure pat00124
마찬가지로, 도 4의 입력값인
Figure pat00125
의 인자를 순서대로 제2 데이터 집합인
Figure pat00126
로 대체함으로써 도 4의 알고리즘을 기반으로 제2 데이터 쌍
Figure pat00127
을 생성한다. 제2 데이터 쌍
Figure pat00128
는 하기의 수학식 4와 같은 값을 가지게 된다.
Figure pat00129
단계 2에서는 이에 더하여,
Figure pat00130
을 이용하여
Figure pat00131
을 연산한다.
Figure pat00132
은 수학식 5와 같이 연산될 수 있다.
Figure pat00133
이하에서는,
Figure pat00134
을 '서명 연산자'로 정의한다.
그 다음, 단계 3에서는 단계 2에서 생성된
Figure pat00135
를 입력값으로, 중국인의 나머지 정리를 이용하여 제1 중간값 S'=
Figure pat00136
와, 제2 중간값 S=
Figure pat00137
을 연산한다. CRTOur(A, B) 함수는 수학식 6과 같이 중국인의 나머지 정리를 수행하는 함수를 의미한다.
Figure pat00138
본 발명에서는 기존의 방법이 아닌 수학식 6과 같은 CRTour방법을 사용하므로 p, q에 대한 오류 체크를 따로 하지 않아도 p', q'을 사용하여 안전한 알고리즘을 구현할 수 있다.
Figure pat00139
Figure pat00140
는 각각 수학식 7 및 8과 같이 연산된다.
Figure pat00141
Figure pat00142
그 다음, 단계 4에서는
Figure pat00143
의 연산이 수행된다. 이때,
Figure pat00144
는 N의 문자열의 길이에
Figure pat00145
의 문자열의 길이를 뺀값(
Figure pat00146
)에 해당하는 값이다. 오류가 주입되지 않았을 경우에는
Figure pat00147
,
Figure pat00148
이다. 이 경우,
Figure pat00149
,
Figure pat00150
이 된다. 결국, 이 경우, 중간 연산자
Figure pat00151
가 된다.
단계 5에서, 중간 연산자
Figure pat00152
의 값을 이용하여
Figure pat00153
의 하위 비트들을
Figure pat00154
길이만큼 '0'으로 만든다.
그 다음, 단계 6에서
Figure pat00155
의 상위
Figure pat00156
길이 만큼을 '0'으로 만든다. 도 6을 참고하면, 단계 5의
Figure pat00157
와 단계 6의
Figure pat00158
를 XOR 연산하였을 경우 올바른 서명값을 얻을 수 있음을 알 수 있다.
최종적으로, 서명 연산자
Figure pat00159
Figure pat00160
에 곱하여 최종 서명값 Sig를 생성한다.
도 5의 알고리즘에서는 기존과는 달리 역원 계산을 하지 않는데, 역원 계산은 계산 연산량이 보통 지수승 연산보다 크다. 따라서 도 5의 알고리즘은 역원 계산을 하지 않으므로 복잡도를 많이 줄일 수 있다.
도 7은 본 발명의 일 실시 예에 따른 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 방법의 흐름도이다.
우선, 인증된 수신자에게 전송하고자 하는 메시지 m, 서로 다른 두 소수 p와 q, 비밀키 d를 p-1로 모듈러 연산한 dp, d를 q-1로 모듈러 연산한 dq, p와 q의 합인
Figure pat00161
, Iq등을 수신하고, 암호화하고자 하는 송신자가 제1 정수 k, 제2 정수 r을 선택한다(S710).
다음,
Figure pat00162
을 이용하여 제1 데이터 쌍
Figure pat00163
을 연산하고,
Figure pat00164
을 이용하여 제2 데이터 쌍
Figure pat00165
을 연산한다(S720). 여기서, 제1 데이터 쌍
Figure pat00166
는 상기의 수학식 3과 같은 값을 갖는다. 또한, 제2 데이터 쌍
Figure pat00167
는 상기의 수학식 4와 같은 값을 갖는다.
다음,
Figure pat00168
을 이용하여 서명 연산자를 연산한다(S730). 서명 연산자는 수학식 5에 의해 생성될 수 있다.
그 다음, 제1 데이터 쌍의
Figure pat00169
와 제2 데이터 쌍의
Figure pat00170
를 입력값으로 중국인의 나머지 정리를 이용하여 제1 중간값
Figure pat00171
를 산출한다(S740). 제1 중간값
Figure pat00172
는 수학식 7에 의해 생성될 수 있다.
그 다음, 제1 데이터 쌍의
Figure pat00173
와 제2 데이터 쌍의
Figure pat00174
를 입력값으로 중국인의 나머지 정리를 이용하여 제2 중간값
Figure pat00175
를 산출한다(S750). 제2 중간값
Figure pat00176
는 수학식 8에 의해 생성될 수 있다.
그 다음,
Figure pat00177
의 비트열의 길이와 N의 비트열의 길이에 따라 결정된 제로 비트 생성 인자
Figure pat00178
,
Figure pat00179
의 보수
Figure pat00180
, p 및 q'를 이용하여
Figure pat00181
를 생성한다(S760). 여기서, 제로 비트 생성 인자
Figure pat00182
는 N의 이진 비트열의 길이를 len(N)이라고 하고,
Figure pat00183
의 이진 비트열의 길이를
Figure pat00184
이라고 할 때,
Figure pat00185
에 의해 생성될 수 있다. 그러면, 제로 비트 생성 인자를 이용하여,
Figure pat00186
의 값은 하기의 수학식 9에 의해 생성될 수 있다.
Figure pat00187
그런 다음,
Figure pat00188
Figure pat00189
의 논리곱 연산을 수행하여 제1 중간값 S'를 갱신한다(S770). 이와 같이 갱신되는 제1 중간값 S'는 하기의 수학식 10과 같이 표현될 수 있다.
Figure pat00190
그 다음,
Figure pat00191
Figure pat00192
로 나눈값과 S를 논리곱 연산을 수행하여 제2 중간값 S를 갱신한다(S780). 이와 같이 갱신되는 제2 중간값 S는 하기의 수학식 11과 같이 표현될 수 있다.
Figure pat00193
그 다음, 최종적으로 서명 연산자
Figure pat00194
Figure pat00195
에 곱하여 최종 서명값 Sig를 생성한다(S790). 최종 서명값 Sig는 하기의 수학식 12와 같이 표현될 수 있다.
Figure pat00196
이와 같은 과정으로 본 발명은 전력 분석과 오류 주입 공격에 안전한 CRT-RSA 모듈러 지수승 알고리즘을 이용한 디지털 서명을 생성할 수 있게 된다.
도 8은 기존의 CHK 알고리즘, Giraud의 알고리즘 등과 본 발명의 일 실시 예에 따른 알고리즘(Ours)의 연산 복잡도 및 안전성을 비교한 것이다.
본 발명의 일 실시 예에 따른 알고리즘(Ours)은 CHK 알고리즘과 비교하여 안전성(Weak against)은 동일하나, 모듈라 지수승(modular exponentiation) 등에서 적은 연산을 필요로 한다. 또한, CHK 알고리즘이 공개키 e를 필요로 하는 반면, 본 발명의 일 실시 예에 따른 알고리즘(Ours)은 공개키 e가 불필요하여 더 유리하다. 한편, 본 발명의 일 실시 예에 따른 알고리즘(Ours)은 Giraud의 알고리즘에 비해 안전성(Weak against)이 뛰어남을 알 수 있다.
본 발명은 소프트웨어를 통해 실행될 수 있다. 바람직하게는, 본 발명의 실시 예들에 따른 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 방법을 컴퓨터에서 실행시키기 위한 프로그램을 컴퓨터로 읽을 수 있는 기록매체에 기록하여 제공할 수 있다. 소프트웨어로 실행될 때, 본 발명의 구성 수단들은 필요한 작업을 실행하는 코드 세그먼트들이다. 프로그램 또는 코드 세그먼트들은 프로세서 판독 가능 매체에 저장되거나 전송 매체 또는 통신망에서 반송파와 결합된 컴퓨터 데이터 신호에 의하여 전송될 수 있다.
컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는 ROM, RAM, CD-ROM, DVD±ROM, DVD-RAM, 자기 테이프, 플로피 디스크, 하드 디스크(hard disk), 광데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 장치에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
본 발명은 도면에 도시된 실시 예들을 참고로 하여 설명하였으나 이는 예시적인 것에 불과하며 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 실시 예의 변형이 가능하다는 점을 이해할 것이다. 그리고, 이와 같은 변형은 본 발명의 기술적 보호범위 내에 있다고 보아야 한다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해서 정해져야 할 것이다.

Claims (14)

  1. N=pq를 만족하는 서로 다른 두 소수인 비밀키 p와 q, 오일러의 totient 함수
    Figure pat00197
    을 이용하는 CRT-RSA 모듈러 지수승 알고리즘을 이용한 디지털 서명 방법에 있어서,
    인증된 수신자에게 전송하고자 하는 메시지 m, 상기 서로 다른 두 소수 p와 q, 비밀키 d, 상기 d를 p-1로 모듈러 연산한 dp, 상기 d를 q-1로 모듈러 연산한 dq, 상기 p와 q의 합인 T1을 수신하고, 제1 정수 k 및 제2 정수 r을 랜덤하게 선택하는 단계;
    상기
    Figure pat00198
    을 이용하여 제1 데이터 쌍
    Figure pat00199
    을 연산하고, 상기
    Figure pat00200
    을 이용하여 제2 데이터 쌍
    Figure pat00201
    을 연산하며,
    Figure pat00202
    을 이용하여 서명 연산자를 연산하는 단계;
    상기 제1 데이터 쌍의
    Figure pat00203
    와 상기 제2 데이터 쌍의
    Figure pat00204
    를 입력값으로 중국인의 나머지 정리를 이용하여 제1 중간값
    Figure pat00205
    를 산출하고, 상기 제1 데이터 쌍의
    Figure pat00206
    와 상기 제2 데이터 쌍의
    Figure pat00207
    를 입력값으로 중국인의 나머지 정리를 이용하여 제2 중간값
    Figure pat00208
    를 산출하는 단계;
    상기
    Figure pat00209
    의 비트열 길이와 상기 N의 비트열 길이에 따라 결정된 제로 비트 생성 인자
    Figure pat00210
    , 상기
    Figure pat00211
    의 보수
    Figure pat00212
    , 상기 p 및 q'를 이용하여 중간 연산자
    Figure pat00213
    를 생성하는 단계;
    상기
    Figure pat00214
    Figure pat00215
    의 논리곱 연산을 수행하여 상기 제1 중간값을 갱신하는 단계;
    상기
    Figure pat00216
    Figure pat00217
    로 나눈값과 상기 제2 중간값을 논리곱 연산을 수행하여 상기 제2 중간값을 갱신하는 단계; 및
    상기 서명 연산자를
    Figure pat00218
    에 곱하여 최종 서명값을 생성하는 단계를 포함하는 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 방법.
  2. 제1 항에 있어서,
    상기 제1 데이터 쌍은 하기의 식 1에 의해 생성되는 것을 특징으로 하는 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 방법.
    Figure pat00219
    (1)
  3. 제2 항에 있어서,
    상기 제2 데이터 쌍은 하기의 식 2에 의해 생성되는 것을 특징으로 하는 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 방법.
    Figure pat00220
    (2)
  4. 제1 항에 있어서,
    상기 제1 중간값은
    Figure pat00221
    일 때, 하기의 식 3에 의해 생성되는 것을 특징으로 하는 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 방법.
    Figure pat00222
    (3)
    (상기 식에서
    Figure pat00223
    Figure pat00224
    Figure pat00225
    를 입력값으로 중국인의 나머지 정리를 수행하는 함수를 의미함.)
  5. 제1 항에 있어서,
    상기 제2 중간값은
    Figure pat00226
    일 때, 하기의 식 4에 의해 생성되는 것을 특징으로 하는 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 방법.
    Figure pat00227
    (4)
    (상기 식에서
    Figure pat00228
    Figure pat00229
    Figure pat00230
    를 입력값으로 중국인의 나머지 정리를 수행하는 함수를 의미함.)
  6. 제1 항에 있어서,
    상기 서명 연산자는
    하기의 식 5에 의해 결정되는 것을 특징으로 하는 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 방법.
    Figure pat00231
    (5)
  7. 제1 항에 있어서,
    상기 중간 연산자는
    하기의 식 6에 의해 생성되는 것을 특징으로 하는 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 방법.
    Figure pat00232
    (6)
  8. 제1 항에 있어서,
    상기 최종 서명값은 하기의 식 7에 의해 생성되는 것을 특징으로 하는 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 방법.
    Figure pat00233
    (7)
  9. 제1 항 내지 제8 항 중 어느 한 항의 방법을 컴퓨터에서 수행할 수 있도록 프로그램으로 기록된 기록매체.
  10. N=pq를 만족하는 서로 다른 두 소수인 비밀키 p와 q, 오일러의 totient 함수
    Figure pat00234
    을 이용하는 CRT-RSA 모듈러 지수승 알고리즘을 이용한 디지털 서명 장치에 있어서,
    인증된 수신자에게 전송하고자 하는 메시지 m, 상기 서로 다른 두 소수 p와 q, 비밀키 d, 상기 d를 p-1로 모듈러 연산한 dp, 상기 d를 q-1로 모듈러 연산한 dq, 상기 p와 q의 합인 T1을 수신하고, 제1 정수 k 및 제2 정수 r을 랜덤하게 선택하는 초기화부;
    상기
    Figure pat00235
    을 이용하여 제1 데이터 쌍
    Figure pat00236
    을 연산하고,
    Figure pat00237
    을 이용하여 제2 데이터 쌍
    Figure pat00238
    을 연산하며,
    Figure pat00239
    을 이용하여 서명 연산자를 연산하는 지수승 연산부;
    상기 제1 데이터 쌍의
    Figure pat00240
    와 상기 제2 데이터 쌍의
    Figure pat00241
    를 입력값으로 중국인의 나머지 정리를 이용하여 제1 중간값
    Figure pat00242
    를 산출하고, 상기 제1 데이터 쌍의
    Figure pat00243
    와 상기 제2 데이터 쌍의
    Figure pat00244
    를 입력값으로 중국인의 나머지 정리를 이용하여 제2 중간값
    Figure pat00245
    를 산출하는 중간값 연산부;
    상기
    Figure pat00246
    의 비트열 길이와 상기 N의 비트열 길이에 따라 결정된 제로 비트 생성 인자
    Figure pat00247
    , 상기
    Figure pat00248
    의 보수
    Figure pat00249
    , 상기 p 및 q'를 이용하여 중간 연산자
    Figure pat00250
    를 연산하는 중간 연산자 연산부;
    상기
    Figure pat00251
    Figure pat00252
    의 논리곱 연산을 수행하여 상기 제1 중간값을 갱신하는 제1 중간값 갱신부;
    상기
    Figure pat00253
    Figure pat00254
    로 나눈값과 상기 제2 중간값을 논리곱 연산을 수행하여 상기 제2 중간값을 갱신하는 제2 중간값 갱신부; 및
    상기 서명 연산자를
    Figure pat00255
    에 곱하여 최종 서명값을 생성하는 서명값 생성부를 포함하는 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 장치.
  11. 제10 항에 있어서,
    상기 제1 중간값은
    Figure pat00256
    일 때, 하기의 식 8에 의해 생성되는 것을 특징으로 하는 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 장치.
    Figure pat00257
    (8)
    (상기 식에서
    Figure pat00258
    Figure pat00259
    Figure pat00260
    를 입력값으로 중국인의 나머지 정리를 수행하는 함수를 의미함.)
  12. 제10 항에 있어서,
    상기 제2 중간값은
    Figure pat00261
    일 때, 하기의 식 9에 의해 생성되는 것을 특징으로 하는 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 장치.
    Figure pat00262
    (9)
    (상기 식에서
    Figure pat00263
    Figure pat00264
    Figure pat00265
    를 입력값으로 중국인의 나머지 정리를 수행하는 함수를 의미함.)
  13. 제10 항에 있어서,
    상기 서명 연산자는
    하기의 식 5에 의해 결정되는 것을 특징으로 하는 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 장치.
    Figure pat00266
    (10)
  14. 제10 항에 있어서,
    상기 최종 서명값은 하기의 식 11에 의해 생성되는 것을 특징으로 하는 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 장치.
    Figure pat00267
    (11)
KR1020100033335A 2010-04-12 2010-04-12 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 장치, 방법 및 그 기록 매체 KR101112570B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100033335A KR101112570B1 (ko) 2010-04-12 2010-04-12 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 장치, 방법 및 그 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100033335A KR101112570B1 (ko) 2010-04-12 2010-04-12 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 장치, 방법 및 그 기록 매체

Publications (2)

Publication Number Publication Date
KR20110113965A true KR20110113965A (ko) 2011-10-19
KR101112570B1 KR101112570B1 (ko) 2012-03-13

Family

ID=45029125

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100033335A KR101112570B1 (ko) 2010-04-12 2010-04-12 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 장치, 방법 및 그 기록 매체

Country Status (1)

Country Link
KR (1) KR101112570B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102375031B1 (ko) * 2020-10-19 2022-03-17 국방과학연구소 전자서명 알고리즘의 부채널 분석 방법 및 그 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102180029B1 (ko) 2014-02-03 2020-11-17 삼성전자 주식회사 Crt-rsa 암호화 방법 및 장치와 이를 기록한 컴퓨터 판독가능 저장매체

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100431286B1 (ko) * 2002-01-14 2004-05-12 한국정보보호진흥원 중국인 나머지 정리(crt) 기반의 오류 공격에 대응하는 방법 및 그 장치
KR100431047B1 (ko) * 2002-02-26 2004-05-12 주홍정보통신주식회사 Crt에 기초한 rsa 공개키 암호화 방식을 이용한디지털 서명방법 및 그 장치
KR100652377B1 (ko) * 2004-08-06 2007-02-28 삼성전자주식회사 모듈라 지수승 알고리즘, 기록매체 및 시스템
KR100953716B1 (ko) * 2008-02-28 2010-04-19 고려대학교 산학협력단 Crt-rsa 기반의 비트 연산을 이용한 디지털 서명방법, 그 장치 및 이를 기록한 기록 매체

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102375031B1 (ko) * 2020-10-19 2022-03-17 국방과학연구소 전자서명 알고리즘의 부채널 분석 방법 및 그 장치

Also Published As

Publication number Publication date
KR101112570B1 (ko) 2012-03-13

Similar Documents

Publication Publication Date Title
CA2792787C (en) System and method for protecting cryptographic assets from a white-box attack
EP3059894B1 (en) Modular multiplication using look-up tables
KR100891323B1 (ko) 이진 필드 ecc에서 랜덤 포인트 표현을 이용하여 파워해독의 복잡도를 증가시키기 위한 암호화 방법 및 장치
US20100040225A1 (en) Fast Scalar Multiplication for Elliptic Curve Cryptosystems over Prime Fields
JP2008252299A (ja) 暗号処理システム及び暗号処理方法
JP2006340347A (ja) データに署名するための楕円曲線デジタル署名暗号プロセスを実行する認証システム
EP3191936B1 (en) System and method for one-time chinese-remainder-theorem exponentiation for cryptographic algorythms
JP2011530093A (ja) 累乗法による暗号化を保護する解決策
JP2019515353A (ja) 暗号化べき乗アルゴリズムへのセーフ−エラーフォールトインジェクション攻撃に対する対策
EP3698262B1 (en) Protecting modular inversion operation from external monitoring attacks
JP2004304800A (ja) データ処理装置におけるサイドチャネル攻撃防止
EP2738973A1 (en) System and method for cryptography using multiplicative masking using simultaneous exponentiation techniques
KR20060013124A (ko) 모듈라 지수승 알고리즘, 기록매체 및 시스템
KR101112570B1 (ko) 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 장치, 방법 및 그 기록 매체
CN1985458B (zh) 增强的自然蒙哥马利指数掩蔽和恢复的方法和装置
KR100954844B1 (ko) 오류 주입 공격에 안전한 crt-rsa 모듈러 지수승 알고리즘을 이용한 디지털 서명 방법, 그 장치 및 이를 기록한 기록매체
US20120039462A1 (en) Rsa signature method and apparatus
EP3166013B1 (en) Modular exponentiation using randomized addition chains
KR100953715B1 (ko) Crt-rsa 모듈라 지수승 알고리즘을 이용한 디지털서명 방법, 그 장치 및 이를 기록한 컴퓨터 판독가능 저장매체
KR100953716B1 (ko) Crt-rsa 기반의 비트 연산을 이용한 디지털 서명방법, 그 장치 및 이를 기록한 기록 매체
KR101341810B1 (ko) Crt-rsa를 이용하여 전력 분석 공격과 오류 주입 공격으로부터 정보를 보호하는 방법
KR102510077B1 (ko) 부채널 공격에 안전한 연산 장치 및 방법
CN104125061A (zh) 使用rsa加密算法的电子部件中的防攻击方法
Mahdion et al. New single‐trace side‐channel attacks on a specific class of Elgamal cryptosystem
Tejashwini et al. Mobile communication security using Galios Field in elliptic curve Cryptography

Legal Events

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

Payment date: 20150108

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160125

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee