모듈러 산술은 정수를 m으로 나눈 나머지가 같은 것끼리 묶어 하나의 원소로 다루는 구조다. 이렇게 묶은 합동류 위에 덧셈과 곱셈을 정의하면 유한한 집합에서 대수 연산이 돌아가고, m이 소수일 때는 0이 아닌 원소마다 곱셈 역원이 생긴다. RSA, ElGamal, Diffie-Hellman이 모두 이 구조 위에서 계산한다.
이 포스트에서 다루는 내용
모듈러 산술: a≡b(modm)⟺m∣(b−a) — 동치 관계(반사·대칭·추이) 성립
완전 잉여계 Zm: {0,1,…,m−1} — 덧셈·뺄셈에 대해 닫혀있음
축약 잉여계 Zm∗: {a∣gcd(a,m)=1} — 곱셈에 대해 닫혀있고 역원 존재
오일러 정리: aφ(m)≡1(modm) (a∈Zm∗, φ(m)=∣Zm∗∣)
중국인의 나머지 정리: 서로소인 m1,…,mr에 대해 연립 합동식의 해 존재·유일
GCD와 LCM의 관계
본론에 앞서, GCD와 LCM(최소공배수)의 관계를 정리한다.
여기서 a와 b는 양의 정수라고 둔다. 음수를 섞으면 아래 등식이 gcd(a,b)⋅lcm(a,b)=∣ab∣ 꼴로 바뀌기 때문이다.
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) 이다 — 다음 세 성질을 만족한다.
단, 나눗셈은 일반적으로 성립하지 않는다. 예를 들어 mod6에서 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): 합동류에서 어떤 대표원을 꺼내 계산해도 결과가 같은 합동류에 떨어진다. a≡a′, b≡b′이면 a+b≡a′+b′이므로 성립한다. 이것이 없으면 「합동류끼리 더한다」는 말 자체가 뜻을 갖지 못한다.
닫힘(closure): 연산 결과가 다시 Zm의 원소다. 나머지는 언제나 0부터 m−1 사이이므로 성립한다.
두 성질이 갖춰지면 덧셈에 항등원 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가 존재한다. 이를 modm으로 취하면 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) 가 된다. 덧셈·뺄셈·곱셈이 모든 원소에서 정의되고, 나눗셈은 0이 아닌 원소로만 정의된다. 체에서도 0으로 나누는 연산은 없다. 「사칙연산이 모두 된다」는 말은 이 단서 아래에서 읽어야 한다.
오일러 정리
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)오일러 정리 — b·Zm* = Zm* 전단사 대응 시각화
증명: Zm∗={a1,…,aϕ(m)}에서 임의의 b∈Zm∗에 대해
bZm∗={ba1,…,baϕ(m)}
Zm∗는 곱셈에 대해 닫혀있으므로 bai∈Zm∗. 또한 ai=aj이면 bai=baj이므로 (b가 역원을 가지므로 양변에 b−1 곱 가능), 두 집합은 동일하다.
∏ai∈Zm∗이고 Zm∗의 원소는 모두 곱셈 역원을 가지므로, 양변에 (∏ai)−1을 곱하면 좌우의 ∏ai가 소거되어
bϕ(m)≡1(modm)
페르마의 소정리
오일러 정리에서 m=p (소수)로 놓으면 ϕ(p)=p−1이므로,
a∈Zp∗⟹ap−1≡1(modp)
이것이 페르마의 소정리(Fermat’s Little Theorem) 이다. RSA에서 복호화 정확성을 보장하는 핵심 정리이다.
참고
페르마의 소정리의 두 가지 증명, 모듈러 역원 공식(ap−2), 페르마 소수 판별법, Carmichael 수의 한계까지 자세히 다룬다. → Fermat's Little Theorem — 페르마의 소정리
중국인의 나머지 정리 (CRT)
설정: m1,…,mr이 서로 쌍으로 서로소(pairwise coprime)이고 m=m1⋯mr일 때,
임의의 c1,…,cr에 대해 다음을 동시에 만족하는 x가 modm에서 유일하게 존재한다.
x≡c1(modm1),x≡c2(modm2),…,x≡cr(modmr)CRT 구성 다이어그램 — 단계별 해 구성
구성(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(mod3), x≡3(mod5), x≡2(mod7) → x=23), RSA-CRT 4배 속도 향상까지 자세히 다룬다. → Chinese Remainder Theorem — 중국인의 나머지 정리
핵심 정리
모듈러 산술은 동치 관계를 형성한다. 덧셈·뺄셈·곱셈·지수 연산에 대해 닫혀있지만, 나눗셈은 일반적으로 성립하지 않는다.
Zm∗는 gcd(a,m)=1인 원소들로 이루어지며, 곱셈 역원이 모든 원소에 존재한다. m이 소수이면 Zm은 완전한 체(Field)가 된다.
오일러 정리(aφ(m)≡1)와 페르마의 소정리(ap−1≡1, p 소수)는 RSA 복호화의 수학적 근거이다.
CRT는 큰 모듈러 연산을 작은 연산들로 분해해 병렬 처리를 가능하게 한다. RSA-CRT 최적화의 핵심이다.
다음 포스트
RSA — 공개키 암호의 수학적 구조 — 지금까지 쌓아온 모든 정수론 도구(GCD, 모듈러 산술, 오일러 정리, 페르마 정리, CRT)가 수렴하는 지점. RSA 키 생성, 복호화 정확성 증명, 소인수분해 보안 근거, Square-and-Multiply 고속 지수연산까지 다룬다.