1 |
1
(a) 암호장치에서 역원 테이블과 제1, 2 변환 테이블을 생성하여 룩업 테이블로 저장하는 단계;
(b) 상기 암호장치에서 마스킹에 필요한 마스크값들을 생성하는 단계;
(c) 상기 암호장치에서 상기 역원 테이블을 마스킹하여 하나의 마스킹 역원 테이블을 생성하는 단계; 및
(d) 상기 암호장치에서 마스킹된 원 정보가 입력되면 상기 하나의 마스킹 역원 테이블과 상기 제1, 2 변환 테이블을 이용하여 마스킹된 S-박스를 출력하는 단계를 포함하는 것을 특징으로 하는 SEED 암호화에서 전력 분석 공격을 방어하기 위한 마스킹 방법
|
2 |
2
제 1항에 있어서, 상기 (a) 단계에서,
역원 행렬을 이용하여 상기 역원 테이블을 생성한 후 룩업 테이블로 저장하는 제1 단계; 및
이진 행렬을 이용하여 상기 역원 테이블의 사용에 따른 추가적인 변환을 위한 제1, 2 변환 테이블을 생성한 후 룩업 테이블로 저장하는 제2 단계를 더 포함하는 것을 특징으로 하는 SEED 암호화에서 전력 분석 공격을 방어하기 위한 마스킹 방법
|
3 |
3
제 2항에 있어서, 상기 제2 단계에서,
상기 이진 행렬(C1, C2)은,
,
인 것을 특징으로 하는 SEED 암호화에서 전력 분석 공격을 방어하기 위한 마스킹 방법
|
4 |
4
제 3항에 있어서, 상기 (b) 단계에서,
m1=rand(), m2=C2[m4]0x38, m3=m1m2,
m4=rand(), m5=C1[m4]0xa9, m6=m3m5,
ma=rand(), mb=rand()
에 의해 6개의 1바이트 마스크값(m1, m2, m3, m4, m5, m6)과 2개의 4비트 마스크값(ma, mb)을 생성하는 단계를 더 포함하는 것을 특징으로 하는 SEED 암호화에서 전력 분석 공격을 방어하기 위한 마스킹 방법
|
5 |
5
제 1항에 있어서,
상기 마스킹 역원 테이블은 마스킹된 원 정보에 대응하여 마스킹된 역원 정보를 출력하는 것을 특징으로 하는 SEED 암호화에서 전력 분석 공격을 방어하기 위한 마스킹 방법
|
6 |
6
제 1항에 있어서, 상기 (d) 단계에서,
상기 하나의 마스킹 역원 테이블과 상기 제1, 2 변환 테이블을 이용하여 마스킹 S-박스를 구성하고, 상기 마스킹 S-박스를 이용하여 마스킹된 S-박스를 출력하는 단계를 더 포함하는 것을 특징으로 하는 SEED 암호화에서 전력 분석 공격을 방어하기 위한 마스킹 방법
|
7 |
7
제 6항에 있어서, 상기 (d) 단계에서,
마스킹된 원 정보가 입력되면, 상기 마스킹 역원 테이블을 이용하여 상기 마스킹된 원 정보에 대응하는 마스킹된 역원 정보를 출력하는 제1 단계;
상기 제1, 2 변환 테이블을 이용하여 상기 마스킹된 역원 정보에 대응하는 마스킹된 S-박스를 출력하는 제2 단계; 및
상기 마스킹된 S-박스를 마스킹하여 특정 마스크값으로 마스킹된 S-박스를 출력하는 제3 단계를 더 포함하는 것을 특징으로 하는 SEED 암호화에서 전력 분석 공격을 방어하기 위한 마스킹 방법
|
8 |
8
제 7항에 있어서, 상기 제1 단계에서,
상기 마스킹 역원 테이블을 이용하여 상기 마스킹된 원 정보(xm1)에 대응하는 마스킹된 역원 정보(x-1m4)를 출력하는 단계를 더 포함하는 것을 특징으로 하는 SEED 암호화에서 전력 분석 공격을 방어하기 위한 마스킹 방법
|
9 |
9
제 8항에 있어서, 상기 제2 단계에서,
상기 제1 변환 테이블을 이용하여 상기 마스킹된 역원 정보(x-1m4)에 대응하는 마스킹된 제1 S-박스(S1(x)m5)를 출력하는 단계와,
상기 제2 변환 테이블을 이용하여 상기 마스킹된 역원 정보(x-1m4)에 대응하는 마스킹된 제2 S-박스(S2(x)m2)를 출력하는 단계를 더 포함하는 것을 특징으로 하는 SEED 암호화에서 전력 분석 공격을 방어하기 위한 마스킹 방법
|
10 |
10
제 9항에 있어서, 상기 제3 단계에서,
상기 마스킹된 제1 S-박스(S1(x)m5)를 마스킹하여 특정 마스크값(m3)으로 마스킹된 제1 S-박스 S1(x)m3를 출력하는 단계와,
상기 마스킹된 제2 S-박스(S2(x)m2)를 마스킹하여 특정 마스크값(m3)으로 마스킹된 제2 S-박스 S2(x)m3를 출력하는 단계를 더 포함하는 것을 특징으로 하는 SEED 암호화에서 전력 분석 공격을 방어하기 위한 마스킹 방법
|
11 |
11
제 6항에 있어서, 상기 (d) 단계에서,
상기 마스킹 S-박스 MaskedS1(xm1), MaskedS2(xm1)는,
MaskedS1(xm1) = T1(MInv(xm1))m6 = C1·(x-1m4)m5m3
= C1·x-1C1·m4C1·m4am3 = C1·x-1am3
= S1(x)m3
MaskedS2(xm1) = T2(MInv(xm1))m1 = C2·(x-1m4)m2m2m1
= C2·x-1C2·m4C2·m4bm3 = C2·x-1bm3
= S2(x)m3
(여기에서, x는 원 정보, x-1은 역원 정보, m1, m2, m3, m4, m5, m6은 서로 다른 마스크값, T1, T2는 이진 행렬 C1, C2에 의해 각각 생성된 제1, 2 변환 테이블, a는 [1,0,1,0,1,0,0,1]의 1×8 행렬, b는 [0,0,1,1,1,0,0,0]의 1×8열 행렬을 나타냄)
에 의해 마스킹된 S-박스 S1(x)m3와 마스킹된 S-박스 S2(x)m3를 출력하는 것을 특징으로 하는 SEED 암호화에서 전력 분석 공격을 방어하기 위한 마스킹 방법
|
12 |
12
제 1항에 있어서, 상기 (d) 단계 이후에,
상기 마스킹된 S-박스를 포함하는 마스킹 G 함수에 대한 마스킹 값을 동일하게 유지하기 위한 마스킹 덧셈 연산 단계를 더 포함하는 것을 특징으로 하는 SEED 암호화에서 전력 분석 공격을 방어하기 위한 마스킹 방법
|
13 |
13
제 12항에 있어서, 상기 마스킹 덧셈 연산 단계는,
32비트의 불 마스킹된 제1 입력값을 산술 마스킹 값으로 변환한 후 마스킹하는 제1 단계;
32비트의 불 마스킹된 제2 입력값을 산술 마스킹 값으로 변환하는 제2 단계;
상기 제1 단계를 통해 얻어진 산술 마스킹 값과 상기 제2 단계를 통해 얻어진 산술 마스킹 값을 더한 후 마스킹하는 제3 단계; 및
상기 제3 단계를 통해 얻어진 산술 마스킹 값을 불 마스킹 값으로 변환하는 제4 단계를 더 포함하는 것을 특징으로 하는 SEED 암호화에서 전력 분석 공격을 방어하기 위한 마스킹 방법
|
14 |
14
제 13항에 있어서, 상기 마스킹 덧셈 연산에서,
마스킹 변환 함수와 캐리 함수가 사용되는 것을 특징으로 하는 SEED 암호화에서 전력 분석 공격을 방어하기 위한 마스킹 방법
|