Modular
Modular Arithmetic and Equivalence Classes
Definition
$b\equiv a \mod m \iff m|(b-a)$
- 모듈러 합동(Modular Congruent)을 $b\equiv a$와 같이 표현하는 경우가 대부분이나, 본 암호학 시리즈에서는 모두 $=$ 기호로 통일하겠습니다.
- 예시) $10+5=8$ mod 7
- 10과 5는 7로 나눴을 때 나머지가 같다.
Some Theorems (Equivalence Relation)
- $a=a \mod m$
- If $a=b\mod m$, then $b=a \mod m$
- If $a=b \mod m$ and $b=c \mod m$, then $a=c \mod m$
- (정의에 의해) $m|(b-a), m|(c-a)$이므로 $b-a=km, c-b=k’m$로 표현할 수 있다.
- 두 식을 더하면 $c-a=(k+k’)m$. 따라서 $a=c \mod m$이다.
Why modular arithmetic?
- 모듈러 시스템에서 나누기 대신 역원 곱하기로 바꿀 수 있다.
- 정수를 곱하기 하면 수가 너무 커진다. 실용적이지 않음. 계속 나머지를 취하면 크기 제한 가능
Modular Conservation
- Theorem (+, -, *, constant multiplication conserved)
- if $a=b$ mod $m$ and $c=d$ mod $m$ then
- $a+c=b+d$ mod $m$
- $a-c=b-d$ mod $m$
- $ac=bd$ mod $m$
- Theorem (constant addition and exponentiation)
- $a+k=b+k$ mod $m$
- $ak=bk$ mod $m$
- $a^k=b^k$ mod $m$
Residue System and Meaning
- Complete Residue System - 나머지만 생각하는 시스템
- $Z_m=\lbrace 0, 1, 2, \dots, m-1\rbrace$
- Addition and Subtraction well-defined
- $a\in Z_m$
- $-a=m-a$
- $m-a+a=0$
- 뺄셈은 덧셈의 역원을 더하는 것
- 덧셈의 역원은 더해서 0이 되는것(항등원)
- 따라서 $a$의 역원은 $m-a$ → 뺄셈이 정의됨
Theorem
$ka=kb \mod m$ and $gcd(k, m)=1$, then $a=b \mod m$
- $ka=kb \mod m$이라고 해서 무조건 $a=b \mod m$인건 아니다.
- 예를 들어, $k=m$이거나 $k=0$이면 땔 수 없다.
- 아래 오일러 정리 증명에 사용됩니다.
만약 $gcd(k, m)\ne1$ 라면, $\mod m$에서 $k$는 곱셈의 역원이 없다.
대우: $\mod m$에서 $k$는 곱셈의 역원이 존재하려면, $gcd(k, m)=1$ 이어야 한다.
- RSA에서 암호화 키를 선정하는데 사용됩니다.
- 증명
- $k* k^{-1}=1 \mod m$는 $k*k^{-1}=am+1$로 나타낼 수 있다. ($a$는 정수)
- 따라서 $k*k^{-1}-am = 1$ 이다.
- $gcd(k,m)=d$라면 $k*k^{-1}-am$은 $d$의 배수가 된다.
- 따라서 $d*(…)=1$ 을 만족하는 $d$는 $1$만 존재한다.
Reduced Residue System
- $Z^*_m= \lbrace a|gcd(a, m)=1, a\in Z_m \rbrace$
- 역원이 항상 존재함. 즉, 곱하기와 나누기가 모두 정의가 가능한 시스템
- $a,b \in Z_m^{*}$이면 $a*b \in Z_m^{*}$ 이다.
- $gcd(a, m)=1, gcd(b, m)=1$ 이면 $gcd(a*b, m)=1$이므로
- 더하기 빼기는 불가능함
- 중간 빠진 원소가 존재하므로
- Complete Residue System : $Z_m=\lbrace 0, 1, 2, \dots, m-1 \rbrace$
- 덧셈, 뺄셈, 곱셈 가능
- Reduced Residue System : $Z^*_m= \lbrace a|gcd(a, m)=1, a\in Z_m \rbrace$
- 곱셈, 나눗셈 가능
$|Z_n^{*}| = \phi(n)$ : Euler’s phi function
- $\varphi(n) = n\prod_{p|n} \left(1-\frac 1 p\right)$ where $p$ runs over all the primes dividing $n$
- ex. $Z_{15}^{*}=\lbrace 1, 2, 4, 7, 8, 11, 13, 14 \rbrace, |Z_{15}^{*}|=8$
- $\phi(15)=15 * (1-\frac 13)(1-\frac15)=8$
- If $p$ is prime, then $Z_p^{*}=\lbrace 1, 2, \dots, p-1 \rbrace $ and $\phi(p)=n-1$
- 오일러 피 함수 특징
- If Prime $p$, then $\varphi(p) = p-1$
- If Prime $p, q$, then $\varphi(pq) = \varphi(p)\times\varphi(q)=(p-1)(q-1)$
- 증명은 여기 블로그를 참고해주세요.
Euler Theorem
If $a\in Z_m^{*}$, $m>1$, then $a^{\varphi(m)}=1 \mod m$. 이때 $\varphi(m)=|Z_m{^*}|$
- $a^1, a^2, a^2, \cdots \mod m$ 은 결국 사이클이 생김
- $Z^*_m$가 유한하기 때문에 비둘기집 원리로 인해 중복 원소가 나온다.
- $a^k=a^{k+l}$ 이 반드시 발생함. 이때 $a^l=1 \mod m$ 이다.
- Example $m=7$
- $Z^*_m=\lbrace 1, 2, 3, 4, 5, 6 \rbrace$
- 특징: $a^{\varphi(m)}$은 반드시 1 이어야하기 때문에, 중간에 1이 나온다면 $a^{\varphi(m)의 약수}$ 이다.(사이클로 인해)
- 증명
- $Z_m^{*}=\lbrace b_1,b_2, \cdots, b_{\varphi(m)} \rbrace$
- $aZ_m^{*}=\lbrace ab_1,ab_2, \dots, ab_{\varphi(m)} \rbrace$, $a\in Z_m^{*}$
- 집합 원소는 모두 다르다.
- 만약 $ab_1=ab_2 \mod m$ 이면, $gcd(a, m)=1$이므로 $b_1=b_2 \mod m$ 이다. 따라서 $ab_1\not = ab_2 \mod m$ 이다.
- 모든 원소는 $Z^{*}_m$의 원소이다.
- 곱셈에 대해 닫혀있음
- 집합 원소는 모두 다르다.
- 따라서 $Z^{*}_m=aZ^{*}_m$이다.
- 모든 원소 곱하기: $b_1\times b_2\times\dots \times b_{\varphi(m)}=b_1\times b_2\times\dots \times b_{\varphi(m)}\times a^{\varphi(m)} \mod m$
- 따라서 $a^{\varphi(m)}=1$ 이다.
Fermat Theorem
If $p$ is a Prime and $a\in Z^*_p$, then $a^{p-1}=1$ mod $p$
- 오일러 정리에서 $a$가 소수인 특별한 케이스
This post is licensed under CC BY 4.0 by the author.