유한체(Finite Field)는 AES, 타원 곡선 암호 등 다수의 암호 알고리즘에서 핵심적인 역할을 한다. 이 장에서는 군·환·체의 대수 구조를 기초부터 쌓아 올려 GF(p)와 GF(2n)을 이해한다.
학습 목표
- 군(Group), 환(Ring), 체(Field)를 구분한다.
- GF(p) 유한체를 정의한다.
- 일반 다항식 산술, Zp 계수 다항식 산술, GF(2n) 모듈러 다항식 산술의 차이를 설명한다.
- GF(2n) 유한체를 정의한다.
5.1 군 (Groups)
군 {G,∙}은 이항 연산 ∙이 정의된 집합 G로, 다음 공리를 만족한다.
| 공리 | 이름 | 내용 |
|---|
| A1 | 닫힘 (Closure) | a,b∈G⇒a∙b∈G |
| A2 | 결합법칙 (Associative) | a∙(b∙c)=(a∙b)∙c |
| A3 | 항등원 (Identity) | a∙e=e∙a=a인 e∈G 존재 |
| A4 | 역원 (Inverse) | a∙a′=a′∙a=e인 a′∈G 존재 |
아벨 군 (Abelian Group)
위 공리에 교환법칙(A5: a∙b=b∙a)이 추가되면 아벨 군이다.
순환 군 (Cyclic Group)
G의 모든 원소가 고정 원소 a의 거듭제곱 ak로 표현되면 순환 군이다. 이때 a를 **생성원(Generator)**이라 한다. 순환 군은 항상 아벨 군이다.
5.2 환 (Rings)
환 {R,+,×}은 덧셈과 곱셈이 정의된 집합으로, 다음을 만족한다.
| 조건 | 설명 |
|---|
| A1–A5 | 덧셈에 대해 아벨 군 |
| M1 | 곱셈에 대해 닫힘 |
| M2 | 곱셈의 결합법칙 |
| M3 | 분배법칙: a(b+c)=ab+ac |
환의 하위 분류
| 구조 | 추가 조건 |
|---|
| 가환환 (Commutative Ring) | M4: 곱셈의 교환법칙 |
| 정역 (Integral Domain) | M4 + M5(곱셈 항등원) + M6(영인자 없음) |
Zn={0,1,…,n−1}에서 모듈러 산술을 적용하면 가환환이 된다.
5.3 체 (Fields)
체 {F,+,×}은 정역에 곱셈 역원(M7)을 추가한 구조이다.
a=0⇒∃a−1∈Fs.t.a⋅a−1=1
동치 정의:
- 덧셈에 대해 아벨 군
- 0을 제외한 원소가 곱셈에 대해 아벨 군
- 분배법칙 성립
군·환·체 공리 요약
| 공리 | 군 | 아벨 군 | 환 | 가환환 | 정역 | 체 |
|---|
| A1–A4 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| A5 (교환) | | ✓ | ✓ | ✓ | ✓ | ✓ |
| M1–M3 | | | ✓ | ✓ | ✓ | ✓ |
| M4 (교환) | | | | ✓ | ✓ | ✓ |
| M5 (항등원) | | | | | ✓ | ✓ |
| M6 (영인자 없음) | | | | | ✓ | ✓ |
| M7 (곱셈 역원) | | | | | | ✓ |
5.4 유한체 GF(p)
유한체의 위수
유한체의 원소 수(위수)는 반드시 소수의 거듭제곱 pn 형태이다. 이를 갈루아 체(Galois Field) GF(pn)으로 표기한다.
GF(p)의 정의
소수 p에 대해 GF(p)=Zp={0,1,…,p−1}이고, 모든 산술은 modp로 수행한다.
p가 소수이면 Zp의 모든 0이 아닌 원소가 p와 서로소이므로 곱셈 역원이 존재하여 체가 된다.
GF(2) — 가장 단순한 유한체
GF(2)에서 덧셈은 XOR, 곱셈은 AND와 동일하다.
GF(p)에서 곱셈 역원 구하기
확장 유클리드 알고리즘으로 계산한다.
ax+by=1⇒y=b−1moda
예시: GF(1759)에서 550−1
- 확장 유클리드 알고리즘 적용: 1759x+550y=1
- 결과: y=355
- 검증: 550×355mod1759=1 ✓
5.5 다항식 산술
다항식의 정의
f(x)=anxn+an−1xn−1+⋯+a1x+a0=∑i=0naixi
다항식 산술의 세 가지 분류
| 분류 | 계수 집합 | 모듈러 다항식 | 용도 |
|---|
| 일반 다항식 산술 | 실수, 정수 등 | 없음 | 기초 |
| Zp 계수 다항식 | GF(p)의 원소 | 없음 | 중간 단계 |
| 모듈러 다항식 산술 | GF(p)의 원소 | m(x)로 나머지 | GF(2n) 구성 |
다항식 나눗셈
f(x)=q(x)⋅g(x)+r(x)
- deg(q)=deg(f)−deg(g)
- deg(r)≤deg(g)−1
r(x)=0이면 g(x)는 f(x)의 **인수(factor)**이다.
GF(2) 위의 다항식
GF(2)에서는 덧셈과 뺄셈이 동일하다 (1+1=1−1=0).
예시: f(x)=x7+x5+x4+x3+x+1, g(x)=x3+x+1일 때
- f(x)+g(x)=x7+x5+x4
- f(x)÷g(x): 몫 x4+x5+x+1, 나머지 0 → g(x)∣f(x)
기약 다항식 (Irreducible Polynomial)
체 F 위에서 f(x)가 더 낮은 차수의 두 다항식의 곱으로 표현될 수 없으면 기약(irreducible)이라 한다. 정수에서의 소수에 대응된다.
예시: x3+x+1은 GF(2) 위에서 기약
다항식의 GCD
유클리드 알고리즘을 다항식에 확장 적용한다.
gcd[a(x),b(x)]=gcd[b(x),a(x)modb(x)]
5.6 유한체 GF(2ⁿ)
필요성
n비트 데이터를 처리하는 암호 알고리즘에서 나눗셈을 사용하려면 2n개 원소를 가진 체가 필요하다. Z2n에 모듈러 산술을 적용해도 체가 되지 않으므로, 다항식 산술 기반의 GF(2n)을 구성한다.
구성 방법
GF(2n)의 원소는 GF(2) 위의 차수 n−1 이하 다항식 전체이다. 총 2n개 원소가 존재한다.
산술 규칙:
- 계수 산술은 mod2 (XOR)
- 곱셈 결과가 차수 n 이상이면 차수 n의 기약 다항식 m(x)로 나머지 계산
표현 방법
다항식의 각 계수를 비트로 나타내면 n비트 정수로 표현 가능하다.
x6+x4+x2+x+1⟷01010111⟷{57}
계수별 mod2 덧셈 = 비트별 XOR
{57}⊕{83}={D4}
AES에서 사용하는 GF(28)의 기약 다항식: m(x)=x8+x4+x3+x+1
x와의 곱셈 (xtime 연산):
x⋅f(x)={(b6b5b4b3b2b1b00)(b6b5b4b3b2b1b00)⊕(00011011)b7=0b7=1
1비트 좌측 시프트 후, 최상위 비트가 1이면 (00011011)과 XOR한다.
일반 곱셈: xtime을 반복 적용하고 중간 결과를 XOR로 합산한다.
예시: {57}×{83}
{57}×{83}={57}×[{01}⊕{02}⊕{80}]
={57}⊕{AE}⊕{38}={C1}
이는 다항식으로 x7+x6+1에 해당한다.
곱셈 역원
확장 유클리드 알고리즘을 다항식에 적용한다.
a(x)⋅v(x)+b(x)⋅w(x)=gcd[a(x),b(x)]
gcd=1이면 w(x)=b(x)−1moda(x)
예시: (x7+x+1)−1mod(x8+x4+x3+x+1)=x7
생성원 (Generator)
위수 q인 유한체 F의 생성원 g는 g0,g1,…,gq−2로 F의 모든 0이 아닌 원소를 생성하는 원소이다.
GF(23)에서 m(x)=x3+x+1의 생성원 g:
g3=g+1을 이용하여 계산하면:
| 거듭제곱 | 다항식 | 이진수 |
|---|
| 0 | 0 | 000 |
| g0 | 1 | 001 |
| g1 | g | 010 |
| g2 | g2 | 100 |
| g3 | g+1 | 011 |
| g4 | g2+g | 110 |
| g5 | g2+g+1 | 111 |
| g6 | g2+1 | 101 |
거듭제곱 표현에서 곱셈: ga×gb=g(a+b)mod(2n−1)
예시: g4×g6=g10mod7=g3=g+1
주요 용어
| 한국어 | 영어 | 설명 |
|---|
| 군 | Group | 닫힘·결합·항등·역원 공리를 만족하는 집합 |
| 아벨 군 | Abelian Group | 교환법칙이 추가된 군 |
| 순환 군 | Cyclic Group | 하나의 생성원으로 모든 원소 생성 |
| 환 | Ring | 덧셈(아벨 군) + 곱셈(닫힘·결합·분배) |
| 정역 | Integral Domain | 가환환 + 곱셈 항등원 + 영인자 없음 |
| 체 | Field | 정역 + 곱셈 역원 |
| 유한체 | Finite Field | 유한 개 원소를 가진 체 |
| 갈루아 체 | Galois Field | 유한체의 다른 이름, GF(pn) |
| 기약 다항식 | Irreducible Polynomial | 더 낮은 차수의 곱으로 분해 불가능한 다항식 |
| 생성원 | Generator | 유한체의 모든 비영 원소를 거듭제곱으로 생성 |
| 다항식 환 | Polynomial Ring | 체 위의 다항식 전체가 이루는 환 |