본문 바로가기
Topos Uranos

요약

이 수업은 정수를 나머지에 따라 분류하는 일을 하나의 계산 체계로 바꾼다. 법 nn에 대한 합동을 정의하고, 합동이 나머지가 같음과 동치이며, 합동이 동치 관계이고, 덧셈, 곱셈, 거듭제곱과 양립함을 증명한 다음, 그 류들로부터 나머지의 집합 Zn\mathbb{Z}_n을 덧셈표, 곱셈표와 함께 구성한다. 베주 항등식으로 어떤 나머지가 역원을 가지는지 결정하고, 일차 합동식을 완전히 푼다. 중국인의 나머지 정리와 페르마의 소정리를 증명하고, 배수 판정법을 합동식으로 다시 읽으며, 이 모두를 검증 숫자, 달력, 그리고 RSA 암호 체계에 응용하여 그 정확성을 증명한다.

학습 목표

  1. 법 nn에 대한 합동이 덧셈, 곱셈, 거듭제곱과 양립하는 동치 관계임을 증명하고, 이를 이용하여 큰 수의 나머지를 계산한다.
  2. Zn\mathbb{Z}_n에서 덧셈표와 곱셈표를 만들고, 최대공약수를 이용하여 어떤 나머지가 역원을 가지는지 결정한다.
  3. 일차 합동식이 해를 가지는지 판정하고, 법 nn에 대하여 해가 몇 개인지 계산하며, 그 해를 모두 구한다.
  4. 법이 서로소인 합동식의 연립을 중국인의 나머지 정리로 풀고, 해를 구성하며 그 유일성을 증명한다.
  5. 페르마의 소정리를 증명하고, 이를 거듭제곱의 나머지, 모든 정수에 대해 성립하는 나누어떨어짐의 성질, 그리고 RSA 체계의 정확성에 응용한다.
  6. 검증 숫자가 어떤 오류를 찾아내는지 분석하고, 합동식으로 요일을 계산한다.

합동 관계

오늘이 월요일이면 1515일 뒤는 화요일이고 10001000일 뒤는 일요일이다. 이를 알기 위해 날을 하나씩 셀 필요는 없으며, 날수를 77로 나눈 나머지만 있으면 된다. 마찬가지로 55시간 뒤에는 99시에서 세어 22시가 되는데, 이는 1212시간 문자판에서의 일이다. 또한 곱의 마지막 자리 숫자는 인수들의 마지막 자리 숫자에만 의존한다. 세 경우 모두 나머지로 계산하고 몫은 잊는다. 나누어떨어짐과 나머지가 있는 나눗셈 수업은 정수를 자연수로 나눈 나머지에 따라 류로 나누었고, 합, 곱, 거듭제곱의 나머지가 주어진 수들의 나머지에만 의존함을 증명하였다. 이 수업은 이러한 관찰에 고유한 언어, 곧 합동식의 언어를 준다. 이 언어는 가우스가 1801년에 Disquisitiones Arithmeticae에서 도입한 것이며, 이 수업은 그것을 계산의 도구로 만든다. 그 수업에서처럼 정수는 미리 사용하며, 그 연산과 순서의 규칙은 정수 수업에서 정당화된다.

정의 (합동). nn이 자연수라 하자. 두 정수 aa와 bb가 법 nn에 대하여 합동이라는 것은 nn이 그 차 a−ba - b를 나누는 것을 말한다. a≡b(modn)a \equiv b \pmod{n}로 쓰고 “aa는 bb와, 법 nn에 대하여 합동”이라 읽는다. 자연수 nn을 이 합동식의 법이라 한다.
a≡b(modn)↔n∣a−ba \equiv b \pmod{n} \leftrightarrow n \mid a - b

예를 들어 17≡2(mod5)17 \equiv 2 \pmod{5}인데, 17−2=1517 - 2 = 15이기 때문이다. 또 −3≡9(mod4)-3 \equiv 9 \pmod{4}인데, −3−9=−12-3 - 9 = -12이기 때문이다. 정수가 짝수일 필요충분조건은 그것이 00과 법 22에 대하여 합동인 것이다. aa가 nn의 배수라는 것은 이제 a≡0(modn)a \equiv 0 \pmod{n}로 쓴다. 법 11에 대해서는 모든 정수가 서로 합동이다. 11은 모든 정수를 나누기 때문이다. 이 경우는 흥미가 없으므로, 예에서 법은 22 이상으로 한다. 세 줄로 된 기호 ≡\equiv은 등호를 떠올리게 하는데, 뒤에서 보듯이 합동은 거의 모든 면에서 등식처럼 행동하기 때문이다. 예외인 나눗셈은 역원에 관한 절에서 다룬다.

차를 이용한 정의는 증명에 가장 편리하지만, 처음 예들의 직관은 나머지에 관한 것이다. 다음 명제는 두 기술이 같은 것을 말함을 보장한다. 그 내용은 나누어떨어짐 수업에서 배수 판정법을 정당화할 때 다른 형태로 이미 언급되었으며, 여기서는 모든 단계를 거쳐 증명한다.

명제합동과 나머지

두 정수가 법 nn에 대하여 합동일 필요충분조건은 nn으로 나눈 나머지가 같은 것이다. a=nq+ra = nq + r과 b=ns+tb = ns + t가 aa와 bb를 nn으로 나눈 나머지가 있는 나눗셈이라 하고, 0≤r<n0 \leq r < n, 0≤t<n0 \leq t < n라 하자. 그림은 −10-10부터 2424까지의 정수를 55개씩 행으로 배열하여, 각 열이 나머지가 같은 수들을 모으도록 한다.

증명

  1. a−b=(nq+r)−(ns+r)=n(q−s)a - b = (nq + r) - (ns + r) = \resaltar{n(q - s)}

    나머지가 같으면, 곧 r=tr = t이면, 두 나눗셈을 빼면 나머지가 소거되고 차는 nn의 배수가 된다.

  2. a=b+nk=ns+t+nk=n(s+k)+ta = \resaltar{b} + nk = \resaltar{ns + t} + nk = \dato{d}{n(s + k) + t}

    역으로, nn이 a−ba - b를 나눈다고, 즉 어떤 정수에 대하여 a=b+nka = b + nk이라고 가정하자. 여기서 그 정수는 kk이다. bb의 나눗셈을 대입한다.

  3. 0≤t<n→r=t0 \leq t < n \rightarrow \resaltar{r = t}

    0≤t<n0 \leq t < n이므로 이 등식은 aa를 nn으로 나눈 나머지가 있는 나눗셈이며, 나머지는 tt이다. 몫과 나머지의 유일성에 의하여 tt는 aa의 나머지이다. 즉 t=rt = r이다.

  4. 23≡8≡−2≡−7≡3(mod5)23 \equiv 8 \equiv -2 \equiv -7 \equiv 3 \pmod{5}

    그림에서 −7-7, −2-2, 33, 88, 1313, 1818, 2323은 같은 열에 있다. 모두 나머지 33을 남기고, 그 차들은 55의 배수이다.

특히 모든 정수는 법 nn에 대하여 자신의 나머지와 합동이고, 그 나머지는 nn개의 정수 0,1,…,n−10, 1, \ldots, n - 1 가운데 하나이며, 그 가운데 오직 하나와만 합동이다. 이 수들 중 어느 두 수도 각각 자기 자신의 나머지이고, 서로 다르면 나머지도 다르기 때문이다. 법 nn에 대하여 계산한다는 것은 각 수를 그 열의 편리한 대표로 바꾸는 것이다. 대표로는 나머지를 쓰고, 때로는 작은 음수를 쓴다. 예를 들어 −1-1을 n−1n - 1 대신 쓴다.