GCD가 ‘두 수의 관계’라면, 모듈러 산술은 ‘수의 세계 자체를 재정의’한다. 나머지를 공유하는 수들을 하나로 묶는 순간, 덧셈·곱셈·역원이 정의된 대수 구조가 탄생한다 — RSA, ElGamal, Diffie-Hellman의 계산 엔진이 바로 이 위에서 돌아간다.
이 글의 주요 개념
- 모듈러 산술: a ≡ b (mod m) ↔ m | (b − a) — 동치 관계(반사·대칭·추이) 성립
- 완전 잉여계 Zm: {0, 1, ..., m−1} — 덧셈·뺄셈에 대해 닫혀있음
- 축약 잉여계 Zm*: {a | gcd(a, m) = 1} — 곱셈에 대해 닫혀있고 역원 존재
- 오일러 정리: a^φ(m) ≡ 1 (mod m) (a ∈ Zm*, φ(m) = |Zm*|)
- 중국인의 나머지 정리: 서로소인 m1,...,mr에 대해 연립 합동식의 해 존재·유일
GCD와 LCM의 관계
본론에 앞서, GCD와 LCM(최소공배수)의 관계를 정리한다.
a와 b의 최대공약수가 d=gcd(a,b)이고 a=a′d, b=b′d로 쓰면,
lcm(a,b)=a′b′d
따라서 다음이 성립한다.
gcd(a,b)⋅lcm(a,b)=d⋅a′b′d=a′b′d2=a⋅b
특히 a, b가 서로소이면 d=1이므로 lcm(a,b)=ab이다.
모듈러 산술과 동치 관계
모듈러 산술(Modular Arithmetic) 은 다음과 같이 정의한다.
a≡b(modm)⟺m∣(b−a)
직관적으로 a와 b를 m으로 나눴을 때 나머지가 같다는 의미이다.
이 관계는 동치 관계(Equivalence Relation) 이다 — 다음 세 성질을 만족한다.

반사성(Reflexive): a≡a(modm)
m∣0이므로 성립.
대칭성(Symmetric): a≡b(modm)⟹b≡a(modm)
m∣(b−a)이면 m∣(a−b)이므로 성립.
추이성(Transitive): a≡b(modm)이고 b≡c(modm)이면 a≡c(modm)
m∣(b−a), m∣(c−b)이면 m∣(c−a)이므로 성립.
따라서 a≡b(modm)은 “a와 b가 모듈러 연산에서 같은 부류에 속한다”는 의미이다.
모듈러 연산의 보존 성질
a≡b(modm)이고 c≡d(modm)이면 다음이 성립한다.
a+c≡b+d(modm)
a−c≡b−d(modm)
ac≡bd(modm)
증명: b−a=mk, d−c=mk′로 쓰면,
- (b+d)−(a+c)=(b−a)+(d−c)=m(k+k′) — 덧셈 성립
- (b−d)−(a−c)=(b−a)−(d−c)=m(k−k′) — 뺄셈 성립
- bd=(a+mk)(c+mk′)=ac+m(ak′+ck+mkk′) — 곱셈 성립
마찬가지로 상수 연산과 지수 연산에 대해서도 닫혀있다.
a≡b(modm)⟹a+k≡b+k(modm)
a≡b(modm)⟹ak≡bk(modm)
a≡b(modm)⟹an≡bn(modm)
단, 나눗셈은 일반적으로 성립하지 않는다. 예를 들어 mod 6에서 2⋅3≡0이므로, 곱셈의 결과만으로는 원래 인수를 복원할 수 없다.

완전 잉여계 (Complete Residue System)
완전 잉여계 Zm은 m으로 나눈 나머지 전체의 집합이다.
Zm={0,1,2,…,m−1}
이 집합의 원소는 두 가지 방식으로 해석할 수 있다.
- 정수 자체: 원소 2는 정수 2를 의미한다.
- 동치류(Equivalence Class): 원소 2는 m으로 나눴을 때 나머지가 2인 모든 정수의 집합 {…,2−m,2,2+m,2+2m,…}를 의미한다.
Zm에서 덧셈과 뺄셈은 잘 정의된다(well-defined) — 연산 결과가 집합 안에 존재하고, 항등원(0)과 역원이 존재한다. 원소 a의 덧셈 역원은 −a≡m−a(modm)이다.
정리: ka≡kb(modm)이고 gcd(k,m)=1이면 a≡b(modm)이다.
증명: m∣k(a−b)이고 gcd(k,m)=1이므로, GCD 성질에 의해 m∣(a−b).
축약 잉여계 (Reduced Residue System)
축약 잉여계 Zm∗는 m과 서로소인 원소들의 집합이다.
Zm∗={a∈Zm∣gcd(a,m)=1}

이 집합에서 곱셈과 나눗셈은 잘 정의된다.
닫힘(Closure): a,b∈Zm∗이면 gcd(a,m)=1, gcd(b,m)=1이므로 GCD 서로소 성질에 의해 gcd(ab,m)=1. 따라서 ab∈Zm∗.
역원 존재: gcd(a,m)=1이므로 베주 항등식에 의해 ax+my=1인 정수 x, y가 존재한다. 이를 mod m으로 취하면 ax≡1(modm)이므로 x가 a의 곱셈 역원이다.
쉽게 말하면
모듈러 역원이란 "나눗셈의 대체품"이다. 모듈러 세계에서는 직접 나눌 수 없지만, a의 역원 x를 곱하면 나눈 것과 같은 효과를 얻는다. 이 역원은 a와 m이 서로소일 때만 존재하며, 베주 항등식(확장 유클리드 알고리즘)으로 구할 수 있다. RSA에서 비밀키 d를 구하는 과정이 바로 이것이다.
반면 덧셈은 닫혀있지 않다. 예를 들어 m=3에서 gcd(4,3)=gcd(8,3)=1이지만, gcd(4+8,3)=gcd(12,3)=3=1.
m이 소수(prime)일 때: 1부터 m−1까지 모든 수가 m과 서로소이므로
Zm∗=Zm∖{0},Zm=Zm∗∪{0}
이 경우 Zm은 사칙연산이 모두 잘 정의된 체(Field) 가 된다.
오일러 정리
a∈Zm∗⟹aϕ(m)≡1(modm)
여기서 ϕ(m)=∣Zm∗∣는 오일러 피함수(Euler’s totient function) 이다.
예: m=10이면 Z10∗={1,3,7,9}이므로 ϕ(10)=4.
34=81≡1(mod10),74=2401≡1(mod10)

증명: Zm∗={a1,…,aϕ(m)}에서 임의의 b∈Zm∗에 대해
bZm∗={ba1,…,baϕ(m)}
Zm∗는 곱셈에 대해 닫혀있으므로 bai∈Zm∗. 또한 ai=aj이면 bai=baj이므로 (b가 역원을 가지므로 양변에 b−1 곱 가능), 두 집합은 동일하다.
i=1∏ϕ(m)ai≡i=1∏ϕ(m)bai=bϕ(m)⋅i=1∏ϕ(m)ai(modm)
∏ai∈Zm∗는 역원을 가지므로 양변에 곱하면
bϕ(m)≡1(modm)
페르마의 소정리
오일러 정리에서 m=p (소수)로 놓으면 ϕ(p)=p−1이므로,
a∈Zp∗⟹ap−1≡1(modp)
이것이 페르마의 소정리(Fermat’s Little Theorem) 이다. RSA에서 복호화 정확성을 보장하는 핵심 정리이다.
참고
페르마의 소정리의 두 가지 증명, 모듈러 역원 공식(a^(p−2)), 페르마 소수 판별법, Carmichael 수의 한계까지 자세히 다룬다. → Fermat's Little Theorem — 페르마의 소정리
중국인의 나머지 정리 (CRT)
설정: m1,…,mr이 서로 쌍으로 서로소(pairwise coprime)이고 m=m1⋯mr일 때,
임의의 c1,…,cr에 대해 다음을 동시에 만족하는 x가 mod m에서 유일하게 존재한다.
x≡c1(modm1),x≡c2(modm2),…,x≡cr(modmr)

구성(Construction)으로 증명: 다음과 같이 정의한다.
Mi=mim,Ni=Mi−1(modmi)
Mi와 mi는 서로소이므로(정의에 의해) Ni가 존재한다. 그러면
x=i=1∑rciMiNi(modm)
검증: xmodmj를 계산하면, i=j인 항에는 Mi=m/mi에 mj가 인수로 포함되어 Mi≡0(modmj). 따라서
x≡cjMjNj≡cj⋅1=cj(modmj)
연산 보존: x가 (c1,…,cr)에, y가 (d1,…,dr)에 대응할 때,
x+y↔(c1+d1,…,cr+dr)
x⋅y↔(c1d1,…,crdr)
즉 m에 대한 연산을 각 mi에 대한 작은 연산들로 분해할 수 있다. 이것이 CRT를 대규모 모듈러 연산 최적화에 활용하는 이유이다.
참고
유일성 증명, 단계별 수치 계산 예시(x≡2(mod 3), x≡3(mod 5), x≡2(mod 7) → x=23), RSA-CRT 4배 속도 향상까지 자세히 다룬다. → Chinese Remainder Theorem — 중국인의 나머지 정리
핵심 정리
- 모듈러 산술은 동치 관계를 형성한다. 덧셈·뺄셈·곱셈·지수 연산에 대해 닫혀있지만, 나눗셈은 일반적으로 성립하지 않는다.
- Zm*는 gcd(a, m) = 1인 원소들로 이루어지며, 곱셈 역원이 모든 원소에 존재한다. m이 소수이면 Zm은 완전한 체(Field)가 된다.
- 오일러 정리(a^φ(m) ≡ 1)와 페르마의 소정리(a^(p−1) ≡ 1, p 소수)는 RSA 복호화의 수학적 근거이다.
- CRT는 큰 모듈러 연산을 작은 연산들로 분해해 병렬 처리를 가능하게 한다. RSA-CRT 최적화의 핵심이다.
다음 포스트
RSA — 공개키 암호의 수학적 구조 — 지금까지 쌓아온 모든 정수론 도구(GCD, 모듈러 산술, 오일러 정리, 페르마 정리, CRT)가 수렴하는 지점. RSA 키 생성, 복호화 정확성 증명, 소인수분해 보안 근거, Square-and-Multiply 고속 지수연산까지 다룬다.