[암호학] 1. 기초 정수론(1)
정수 전체의 집합을 Z로 나타내고 그 원소는 다음과 같다.Z={⋯,−2,−1,0,1,2,⋯}(나눗셈 알고리즘, divisor algorithm) 임의의 a,b∈Z(b≠0)에 대하여a=bq+r,0≤r<|b|인 정수 q,r이 유일하게 존재하고, 이것을 각각 a를 b로 나누었을 때의 몫(quotient), 나머지(remain)라고 한다.
두 a,b∈Z에 대하여 적당한 c∈Z가 존재해서 b=ac이면, a를 b의 약수(divisor) 또는 인수(factor)라 하고, b를 a의 배수(multiple)라 하며, 이것을 a|b로 나타낸다. 또한 정수 a에 대하여 a의 배수 전체의 집합을 aZ={ax|x∈Z}로 나타낸다.
두 정수 a,b에 대하여 다음의 두 조건을 만족하는 양의 정수 d를 a,b의 최대공약수(greatest common divisor)라고 하고, 이것을 d=gcd(a,b)로 나타낸다.
(a) d|a이고 d|b
(b) c|a이고 c|b이면 c≤d
이때 적당한 x,y∈Z가 존재해서 gcd(a,b)=ax+by이다.
두 정수 a,b에 대하여 다음의 두 조건을 만족하는 양의 정수 l을 a,b의 최소공배수(least common multiple)라 하고, 이것을 m=lcm(a,b)로 나타낸다.
(a) a|m이고 b|m
(b) c>0일 때 a|c이고 b|c이면, m≤c
네 정수 a,b,q,c가 주어졌을 때 a=bq+c이면 gcd(a,b)=gcd(b,c)이다.
유클리드 알고리즘(Euclidean algorithm) 두 양의 정수 a,b에 대하여. 나눗셈 알고리즘에 의해 다음이 성립한다.a=q1b+r10<r1<bb=q2r1+r20<r2<r1r1=q3r2+r20<r3<r2⋮rn−2=qnrn−1+rn0<rn<rn−1rn−1=qn+1rn+0또한gcd(a,b)=gcd(b,r1)=⋯=gcd(rn−1,rn)=gcd(rn,0)=rn이므로 rn이 a,b의 최대공약수이다.
두 정수 a,b의 최대공약수가 1일 때, 즉 gcd(a,b)=1일 때 a와 b는 서로소(relative prime)라고 한다.
두 정수 a,b에 대해 gcd(a,b)=1일 필요충분조건은 x,y∈Z가 존재해서 ax+by=1이 성립하는 것이다.
정수 a1,...,an과 m에 대하여 다음이 성립한다.
(a) gcd(ab,m)=1일 필요충분조건은 gcd(a,m)=gcd(b,m)=1
(b) gcd(a1⋯an,m)=1일 필요충분조건은 gcd(a1,m)=⋯gcd(an,m)=1이다.
(c) gcd(a,b)=1일 필요충분조건은 gcd(an,b)=1이고, gcd(a,b)=1일 필요충분조건은 gcd(a,bn)=1이다.
2 이상의 정수 p의 약수가 1과 p 뿐이면, p를 소수(prime)라 하고, 1보다 큰 정수 n이 소수가 아니면, 즉 정수 d,e가 존재해서 n=de이면, n을 합성수(composite number)라고 한다.
p가 소수일 때 두 정수 a,b에 대하여 p|ab이면, p|a 또는 p|b이다.
산술의 기본정리(fundamental theorem of arithmetic) 1 이상의 양의 정수 n은 소수이거나 합성수이고, 그 표현은 유일하다. 임의의 정수 n을 다음과 같이 나타낼 수 있고n=pe11pe22⋯perr여기서 p1,p2,⋯,pr는 서로 다른 소수이고, 이것을 n의 표준분해라고 한다.
양의 정수 n에 대해 τ(n)을 n의 양의 약수 전체의 개수, σ(n)을 n의 양의 약수 전체의 합으로 정의한다. 이러한 함수를 정수론적 함수(number-theoric function)라고 한다. 정수 n의 표준분해가 n=pe11pe22⋯penn일 때 τ(n)과 σ(n)은 다음과 같다.τ(n)=(e1+1)(e2+1)⋯(en+1)σ(n)=(1+p1+⋯+pe11)(1+p2+⋯+pe22)⋯(1+pr+⋯+perr)=pe1+11−1p1−1pe2+12−1p2−1⋯per+1r−1pr−1임의의 실수 x에 대해 [x]를 x보다 크지 않은 최대 정수로, {x}=x−[x]로 정의한다. 여기서 [x]와 {x}를 각각 x의 정수부분, 소수부분이라고 한다.
x보다 크거나 같은 정수 중 가장 작은 정수를 ⌈x⌉로 나타내고 이 정수를 x의 최고한도(ceiling), [x]를 ⌊x⌋로 나타내고 이것을 x의 최저한도(floor)라고 한다.
정수 Fn=22n+1(n≥0)을 페르마 수(Fermat number)라 하고, Fn이 소수이면, 이 수를 페르마 소수(Fermat prime)라고 한다. 또한 정수 Mp=2p−1(m≥1)을 메르센 수(Mersenne number)라 하고, Mp가 소수일 때 이 수를 메르센 소수(Mersenne prime)라고 한다.
n을 고정된 정수라고 하자. 두 정수 a,n가 법 n에 대해 합동(congruent), 즉a≡b(modn)이라는 것은 a−b가 n의 배수, 즉 적당한 k∈Z가 존재해서 a−b=kn인 것이다.
n>1을 고정된 정수, a,b,c,d를 임의의 정수라 하자. 그러면 다음이 성립한다.
(a) a≡a(modn)
(b) a≡b(modn)이면, b≡a(modn)이다.
(c) a≡b(modn)이고 b≡c(modn)이면, a≡c(modn)이다.
(d) a≡b(modn)이고 c≡d(modn)이면, a+c≡b+d(modn)이고 ac≡bd(modn)이다.
(e) a≡b(modn)이면 a+c≡b+c(modn)이고, ac≡bc(modn)이다.
(f) a≡b(modn)이면 ak≡bk(modn)(k>0)이다.
ca≡cb(modn)이면, a≡b(modnd)(d=gcd(c,n))이다.
선형합동식 ax≡b(modn)이 해를 가질 필요충분조건은 d|b(d=gcd(a,n))가 성립하는 것이고, d|b이면, 이 선형합동식은 d개의 법 n에 대해 서로 다른 해를 갖는다. 이 선형합동식의 하나의 해가 x0이면, d개의 해는 다음과 같다.x0,x0+nd,x0+2nd,...,x0+(d−1)ndgcd(a,n)=1이면, 선형합동식 ax≡b(modn)은 하나의 해를 갖고 적당한 정수 s,t에 대하여 as+nt=1이고 a(sb)+n(tb)=b, 즉 a(sb)≡b(modn)이므로 x≡sb(modn)은 합동식 ax≡b(modn)의 유일한 해이다.
중국인의 나머지 정리(Chinese remainder theorem) n1,n2,...,nr을 양의 정수로 i≠j에 대해 gcd(ni,nj)=1이라 하자. 그러면 다음의 연립 선형합동식들은 해를 갖고x≡a1(modn1)x≡a2(modn2)⋮x≡ar(modnr)그 해는 법 n1n2⋯nr에 대해 유일한 해를 갖는다. n=n1n2⋯nr이라 할 때Ni=nni=n1⋯ni−1ni+1⋯nr,Nixi≡1(modni)라 하고u=a1N1x1+⋯+arNrxr이라 하면 이 현립 선형합동식의 해를 x≡u(modn1n2⋯nr)로 나타낼 수 있다.
다음의 연립 선형합동방정식ax+by≡r(modn)cx+dy≡s(modn)은 gcd(ad−bc,n)=1일 때 법 n에 대한 유일한 해를 갖고, 그 해는 다음과 같다.x≡t(dr−bs)(modn)y≡t(as−cr)(modn)페르마 정리(Fermat's theorem) p를 소수 p⧸|a라 하자. 그러면 ap−1≡1(modp)이다.
양의 정수 n에 대해 Zn={0,1,...,n−1}이라 하자. Zn의 원소 중 n과 서로소인 원소들의 집합을 Z∗n라 하자. Z∗n={r∈Zn|gcd(r,n)=1}의 원소의 개수 ϕ(n)을 오일러-ϕ 함수(Euler ϕ function)라고 한다.
정수 n의 표준분해가 n=pe11pe22⋯perr이면 다음이 성립한다.ϕ(n)=n(1−1p1)(1−1p2)⋯(1−1pr)=(pe11−pe1−11)(pe22−pe2−12)⋯(perr−per−1r)또한 서로소인 m,n에 대하여 ϕ(mn)=ϕ(m)ϕ(n)이다.
오일러 정리(Euler theorem) n을 양의 정수, gcd(a,n)=1이라 하자. 그러면 aϕ(n)≡1(modn)이다.
b≡ak(modn),(0≤b<n)인 정수 b의 계산:
(a) 시작: b=1이라 한다.
(b) 계산완료: k=0이면 b로 돌아와서 계산을 끝낸다.
(c) k가 홀수이면c≡b⋅a(modn),0≤c<n인 정수 c를 새로 b로 놓고 k−1을 새로 k로 놓아 단계 (2)로 간다.
(d) k가 짝수이면c≡a2(modn),0≤c<n인 정수 c를 새로 a로 놓고 k2를 새로 k로 놓아 (2)로 간다.
참고자료:
암호학과 부호이론, 박승안, 경문사
Elementary Number Theory 7th edition, Burton, McGraw-Hill
'응용수학 > 암호학' 카테고리의 다른 글
[암호학] 6. 힐 암호, 폴리그-헬만 암호 (0) | 2020.10.14 |
---|---|
[암호학] 5. 아핀 암호, 치환 암호, 비즈네르 암호 (0) | 2020.10.13 |
[암호학] 4. 암호체계 (0) | 2020.10.12 |
[암호학] 3. 기초 대수학 (0) | 2020.10.11 |
[암호학] 2. 기초 정수론(2) (0) | 2020.10.10 |