1 |
1
N=pq를 만족하는 서로 다른 두 소수(prime number)인 비트 길이의 p와 비트 길이의 q를 이용하는 CRT-RSA 모듈러 지수승 알고리즘을 이용하여 전력 분석 공격과 오류 주입 공격으로부터 정보(m)를 보호하는 방법에 있어서,상기 보호 대상 정보 m, 상기 두 소수 p와 q, 비밀키 d를 p-1로 모듈러 연산한 dp(= d mod (p-1)), 상기 d를 q-1로 모듈러 연산한 dq(= d mod (q-1)), 상기 p의 역수를 상기 q로 모듈러 연산한 Ip(= p-1 mod q), 상기 p와 dp의 합인 Tp, 상기 q와 dq의 합인 Tq, 상기 p와 Ip의 합인 ,을 입력받고, 상기 p와 상기 q보다 작은 수 r를 랜덤하게 선택하는 단계;상기 m, dp, p, r, Tp를 이용하여 제1 데이터 쌍 (S'p, Sp, p')을 생성하고, 상기 m, dq, q, r, Tq를 이용하여 제2 데이터 쌍 (S'q, Sq, q')을 생성하는 단계;상기 Sp와 상기 S'q의 곱을 로 모듈러 연산한 값 과 상기 S'p와 상기 Sq의 곱을 로 모듈러 연산한 값 을 산출하는 단계;상기 S'p와 상기 S'q를 이용하여 상기 m의 암호화된 정보(S)의 제1 중간값 S1을 산출하고, 상기 Sp와 상기 Sq를 이용하여 상기 S의 제2 중간값 S2을 산출하는 단계;레지스터(C1)에 상기 , 상기 к1, 및 상기 к2를 이용하여 산출된 값을 저장하는 단계;레지스터(C2)에 상기 C1, 상기 m, 상기 S1, 상기 к2, 및 상기 N을 이용하여 산출된 값을 저장하는 단계; 및상기 p', 상기 q', 및 상기 к1를 이용하여 재산출된 값을 상기 레지스터(C1)에 저장된 값과 비교하는 단계;상기 S를 상기 C2, 상기 S2, 상기 C1, 상기 к1, 및 상기 к2 를 이용하여 생성하는 단계를 포함하는 CRT-RSA를 이용하여 전력 분석 공격과 오류 주입 공격으로 부터 정보(m)를 보호하는 방법
|
2 |
2
제 1 항에 있어서,상기 제1 데이터 쌍 (S'p, Sp, p')의 생성은 상기 m, d'p, p, r, Tp를 입력으로 하는 모듈러 지수승 알고리즘(modular exponentiation algorithm)에 의하여 이루어지고,상기 제2 데이터 쌍 (S'q, Sq, q')의 생성은 상기 m, d'q, q, r, Tq를 입력으로 하는 모듈러 지수승 알고리즘에 의하여 이루어지는 것을 특징으로 하는 CRT-RSA를 이용하여 전력 분석 공격과 오류 주입 공격으로부터 정보(m)를 보호하는 방법
|
3 |
3
제 2 항에 있어서, 상기 모듈러 지수승 알고리즘은상기 보호 대상 정보 m, n 비트 길이를 갖는 이진수 x, Z(상기 p 또는 상기 q), 상기 r, 및 p+dp이거나 q+dq인 tz을 입력받는 단계;상기 x를 이용하여 소정의 수 K를 초기화시키는 단계;상기 m을 상기 r과 상기 Z의 곱으로 모듈러 연산한 값(m mod rZ)을 레지스터 0(a[0])에, 상기 m의 제곱을 상기 r과 상기 Z의 곱으로 모듈러 연산한 값(m2 mod rZ)을 레지스터 1(a[1])에, 상기 a[1]의 초기값(m2 mod rZ)과 상기 a[0]의 초기값(m mod rZ)의 차(a[1]-a[0])를 레지스터 2(a[2])에 입력하여 상기 a[0], a[1], a[2]를 초기화시키는 단계;상기 a[0]와 상기 a[1]의 값을 상기 x의 최상위 비트와 최하위 비트를 제외한 각 비트 단위로 반복 연산하여 구하는 단계;상기 반복 연산을 통해 획득된 a[0]과 상기 a[0]을 상기 r과 Z의 곱으로 모듈러 연산한 값(a[0] mod rZ)의 곱(a[0]·a[0] mod rZ)을 상기 a[1]의 최종값으로 생성하는 단계;상기 소정의 수 K를 갱신하는 단계;상기 반복 연산을 통해 획득된 a[2]와 상기 반복 연산을 통해 획득된 a[0]을 상기 r과 tz-K의 곱으로 모듈러 연산한 값(a[0] mod r(tz-K))의 곱(a[2]·a[0] mod r(tz-K))을 상기 a[0]의 최종값으로 생성하는 단계; 및상기 a[1]의 최종값과 상기 a[0]의 최종값을 이용하여 상기 a[2]의 최종값을 생성하는 단계를 포함하는 것을 특징으로 하는 CRT-RSA를 이용하여 전력 분석 공격과 오류 주입 공격으로부터 정보(m)를 보호하는 방법
|
4 |
4
제 3 항에 있어서,상기 K를 초기화시키는 것은 하기의 식 1에 의해 이루어지는 것을 특징으로 하는 CRT-RSA를 이용하여 전력 분석 공격과 오류 주입 공격으로부터 정보(m)를 보호하는 방법
|
5 |
5
제 4 항에 있어서,상기 a[0], a[1]의 값을 상기 x의 최상위 비트와 최하위 비트를 제외한 각 비트 단위로 반복 연산하여 구하는 단계는 하기의 식 2에 의해 이루어지는 것을 특징으로 하는 CRT-RSA를 이용하여 전력 분석 공격과 오류 주입 공격으로부터 정보(m)를 보호하는 방법
|
6 |
6
제 5 항에 있어서,상기 K를 갱신하는 단계는 하기의 식 3에 의해 이루어지는 것을 특징으로 하는 CRT-RSA를 이용하여 전력 분석 공격과 오류 주입 공격으로부터 정보(m)를 보호하는 방법
|
7 |
7
제 6 항에 있어서,상기 a[2]의 최종값을 생성하는 단계는 하기의 식 4에 의해 이루어지는 것을 특징으로 하는 CRT-RSA를 이용하여 전력 분석 공격과 오류 주입 공격으로부터 정보(m)를 보호하는 방법
|
8 |
8
제 2 항 내지 제 7 항 중 어느 한 항에 있어서, 상기 m의 암호화된 정보(S)를 획득하기 위한 제1 중간값 S1과 제2 중간값 S2의 산출은 하기의 식 5에 의해 이루어지는 것을 특징으로 하는 CRT-RSA를 이용하여 전력 분석 공격과 오류 주입 공격으로부터 정보(m)를 보호하는 방법
|
9 |
9
제 8 항에 있어서,상기 레지스터(C1)에 상기 , 상기 к1, 및 상기 к2를 이용하여 산출된 값을 저장하는 단계는,하기의 식 6에 의해 이루어지는 것을 특징으로 하는 CRT-RSA를 이용하여 전력 분석 공격과 오류 주입 공격으로부터 정보(m)를 보호하는 방법
|
10 |
10
제 9 항에 있어서,상기 p', 상기 q', 및 상기 к1를 이용하여 재산출된 값은 하기의 식 7에 의해 이루어지는 것을 특징으로 하는 CRT-RSA를 이용하여 전력 분석 공격과 오류 주입 공격으로부터 정보(m)를 보호하는 방법
|
11 |
11
제 10 항에 있어서,상기 레지스터(C2)에 상기 C1, 상기 m, 상기 S1, 상기 к2, 및 상기 N을 이용하여 산출된 값을 저장하는 단계는,하기의 식 8에 의해 이루어지는 것을 특징으로 하는 CRT-RSA를 이용하여 전력 분석 공격과 오류 주입 공격으로부터 정보(m)를 보호하는 방법
|
12 |
12
제 11 항에 있어서,상기 S를 상기 C2, 상기 S2, 상기 C1, 상기 к1, 및 상기 к2 를 이용하여 생성하는 단계는, 하기의 식 9에 의해 이루어지는 것을 특징으로 하는 CRT-RSA를 이용하여 전력 분석 공격과 오류 주입 공격으로부터 정보(m)를 보호하는 방법
|
13 |
13
제 1 항 내지 제 7 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체
|