\section{Элементарная теория чисел}

В этой главе мы в основном работаем с множеством целых чисел $\mb Z$.

\subsection{Делимость целых чисел}\label{subsect_divide}

\literature{[F], гл. I, \S~1, пп. 1, 2; [K1], гл. 1, \S~9, п. 3; [V],
  гл. I, \S~1; [B], гл. 1, п. 2.}

\begin{definition}
Пусть $x$, $y$~--- целые числа. Говорят, что
$x$ \dfn{делит}\index{делимость!целых чисел} $y$
(или, что $y$ \dfn{делится на} $x$) если
существует такое целое число $k$, что $y=xk$. Обозначение:
$x\divides y$.
\end{definition}

\begin{proposition}
Для любых целых $x,y,z$ выполнено:
\begin{enumerate}
\item $x\divides x$, $1\divides x$, $(-x)\divides x$,
  $(-1)\divides x$;
\item если $x\divides y$ и $y\divides z$, то $x\divides z$ (отношение
  делимости транзитивно);
\item если $x\divides y$ и $x\divides z$, то $x\divides y+z$;
\item если $x\divides y$, то $x\divides yz$;
\item если $z\neq 0$, то $xz\divides yz$ равносильно $x\divides y$;
\item $x\divides 0$;  если $0\divides x$, то $x=0$.
\end{enumerate}
\end{proposition}
\begin{proof}
\begin{enumerate}
\item $x=x\cdot 1=1\cdot x=(-x)\cdot(-1)=(-1)\cdot(-x)$.
\item Если $y=xk$, $z=yl$, то $z = (xk)l = x(kl)$.
\item Если $y=xk$, $z=xl$, то $y+z=x(k+l)$.
\item Если $y=xk$, поэтому $yz=(xk)z = x(kz)$.
\item Если $y=xk$, то $yz=xzk$; обратно, если $yz=xzk$, то
  $(y-xk)z=0$. Из $z\neq 0$ теперь следует, что $y-xk=0$, то есть,
  $y=xk$.
\item $0=x\cdot 0$; если $x=0\cdot k$, то $x=0$.
\end{enumerate}
\end{proof}

\begin{definition}
Если $x\divides y$ и $y\divides x$, говорят, что числа $x$ и $y$
\dfn{ассоциированы}\index{ассоциированность!целых чисел}.
\end{definition}

\begin{remark}\label{rem:integers_up_to_sign}
Заметим, что это означает, что $y=xk$ и $x=yl$, откуда $x=xkl$. Если
$x=0$, то и $y=0$; иначе $1=kl$, поэтому $|k|=|l|=1$ и либо $k=l=1$,
либо $k=l=-1$. Стало быть, $y=x$ или $y=-x$.
\end{remark}

% 01.10.2014

\begin{theorem}[О делении с остатком]
Пусть $a,b\in\mb Z$, $b\neq 0$. Тогда существуют единственные целые
числа $q$ (неполное частное) и $r$ (остаток) такие, что $a=bq+r$ и
$0\leq r\leq |b|-1$.
\end{theorem}
\begin{proof}
Предположим сначала, что $b>0$ и $a\geq 0$.
Доказываем индукцией по $a$.
База: $a<b$. В этом случае $a=b\cdot 0+a$ и $0\leq a\leq b-1$.
Переход: пусть теперь $a\geq b$; посмотрим на число $a-b$, снова
$a-b\geq 0$ и $a-b<a$, поэтому по предположению индукции найдутся
$q'$, $r'$ такие, что $a-b=bq'+r'$ и $0\leq r'\leq b-1$. Но тогда
$a=b(q'+1)+r'$.
\
Пусть теперь $a<0$; но тогда $-a\geq 0$ и, по доказанному, найдутся
$q'$, $r'$ такие, что $-a=bq'+r'$, $0\leq r'\leq b-1$.
Из этого
получаем, что $a=-bq'-r'$. Если $r'=0$, то $a=b(-q')+0$, и все
доказано.
Если же $1\leq r'\leq b-1$, то $a=b(-q')-b+b-r'=b(-q'-1)+(b-r')$. Заметим, что
$-b+1\leq -r'\leq -1$, поэтому $1\leq b-r'\leq b-1$, и все доказано.

Наконец, предположим, что $b<0$; тогда $-b>0$ и можно найти $q',r'$
такие, что $a=(-b)q'+r'$ и $0\leq r'\leq -b-1$. Но тогда $a=b(-q')+r'$
и $0\leq r'\leq |b|-1$, что и требовалось.

Осталось доказать единственность. Пусть $a=bq+r=bq'+r'$; тогда
$b(q-q')=(r'-r)$. Если $q=q'$, то и $r=r'$. Если же $q\neq q'$, то
$|b|\cdot |q-q'|=|r-r'|$ и левая часть $\geq |b|$. С другой стороны,
$0\leq r,r'\leq |b|-1$, поэтому правая часть не превосходит
$|b|-1$, противоречие.
\end{proof}

\subsection{Наибольший общий делитель и алгорифм Эвклида}

\literature{[F], гл. I, \S~1, пп. 3, 4; [K1], гл. 1, \S~9, п. 2;  [V],
  гл. I, \S~2; [B], гл. 3, пп. 1, 2.}

\begin{definition}
Пусть $a,b\in\mb Z$. Говорят, что целое число $d$ является \dfn{общим
  делителем}\index{делитель!общий} $a$ и $b$, если $d\divides a$ и
$d\divides b$.
\end{definition}
\begin{definition}
Пусть $a,b\in\mb Z$. Целое число $d$ называется
\dfn{наибольшим общим
делителем}\index{делитель!наибольший общий!целых чисел}\index{наибольший общий делитель} (\dfn{НОД})
чисел $a$ и $b$, если
\begin{itemize}
\item $d$~--- общий делитель $a$ и $b$;
\item если $d'$~--- общий делитель $a$ и $b$, то $d'\divides d$.
\end{itemize}
Обозначение: $d=\gcd(a,b)$.
\end{definition}

Заметим, что НОД двух целых чисел (если он существует) единственен с
точностью до знака. А именно, если $d$ и
$d'$~--- два наибольших общих делителя чисел $a$ и $b$,
то из определения
следует, что $d\divides d'$ и $d'\divides d$, откуда по
замечанию~\ref{rem:integers_up_to_sign} следует, что $d=\pm d'$.
Поэтому важно понимать, что выражение $\gcd(a,b)$ не является
однозначно определенным целым числом, а лишь обозначает
{\em какой-нибудь} из наибольших общих делителей чисел $a$ и
$b$. Например, если $\gcd(a,b)=d$, то и $\gcd(a,b)=-d$.

Легко видеть, что $\gcd(0,a)=a$; в частности,
$\gcd(0,0)=0$.

{\small
Некоторые авторы называют наибольшим общим делителем не произвольное
целое, а {\it натуральное} число с этими свойствами. При этом
наибольший общий
делитель становится единственным: действительно, из пары целых чисел
$d$ и $-d$ всегда ровно одно является натуральным.
Однако, такая точка зрения неудобна, поскольку при обобщении понятия
наибольшего общего делителя на другие кольца (например, на кольцо
многочленов~--- см. раздел~\ref{ssect:polynomial_gcd}) подобного рода
единственность невозможно обеспечить.}

\begin{proposition}\label{prop:gcd_linear}
Наибольший общий делитель двух целых чисел $a,b$ существует и
представляется в виде $d=au_0+bv_0$ для некоторых целых $u_0$, $v_0$.
\end{proposition}
\begin{proof}
Если $a=b=0$, то мы уже знаем, что $\gcd(a,b)=0$, и доказывать
нечего. Теперь можно считать, что $a\neq 0$.
Рассмотрим множество всех натуральных чисел вида $au+bv$ для
всевозможных целых $u,v$ и выберем в нем наименьший ненулевой
элемент (это множество непусто: например, оно содержит $|a|$).
Обозначим его через $d$; по
построению имеем $d=au_0+bv_0$ для некоторых целых $u_0,v_0$.
Покажем, что $d$ является общим делителем $a$ и $b$. Поделим $a$ на
$d$ с остатком: $a=dq+r=(au_0+bv_0)q+r$, откуда
$r=a(1-u_0q)+b(-v_0q)$. Однако, $r<d$~-- натуральное число, а $d$ было
наименьшим натуральным числом, представляемым в виде
$d=ax+by$. Значит, $r=0$ и $a$ делится на $d$. Аналогично, $b$ делится
на $d$.

Докажем
теперь, что $d$~--- это наибольший общий делитель $a$ и $b$. Пусть
$d'$~--- какой-то общий делитель $a$ и $b$: $d'\divides a$ и
$d'\divides b$. Тогда по свойствам делимости $d'\divides au_0$,
$d'\divides bv_0$, и
$d'\divides au_0+bv_0 = d$, что и требовалось.
\end{proof}

Выражение $d=au_0+bv_0$ из предложения~\ref{prop:gcd_linear}
называется
\dfn{линейным представлением НОД}\index{линейное представление НОД}.

Практический способ для нахождения наибольшего общего делителя~---
алгорифм Эвклида.

Пусть $a,b\in\mb Z$. Наша цель~--- найти $\gcd(a,b)$. Заметим сразу,
что $\gcd(a,b) = \gcd(|a|,|b|)$, поэтому можно считать, что
$a,b\in\mb N$.
Если одно из
чисел $a,b$ равно $0$, цель достигнута.
Иначе пусть для определенности
$a\geq b>0$. Делим с остатком $a$ на $b$:
$a=bq_0+r_0$.
Посмотрим на пару $(b,r_0)$ и применим ту же операцию к ней (теперь мы
знаем, что $b>r_0$):
$b=r_0q_1+r_1$
и так далее:
$r_0=r_1q_2+r_2$\dots
Заметим, что максимальное число в паре всегда уменьшается; значит,
процесс когда-то остановится (остаток станет равен нулю).
Мы утверждаем, что последний ненулевой остаток в этой цепочке равен
$\gcd(a,b)$. Для доказательства этого факта нам понадобится следующая
лемма.
\begin{lemma}
Пусть $a,b,q,r\in\mb Z$.
Если $a=bq+r$, то $\gcd(a,b)=\gcd(b,r)$.
\end{lemma}
\begin{proof}
Действительно, пусть
$d=\gcd(a,b)$ и $d'=\gcd(b,r)$. С одной стороны, $d\divides a$,
$d\divides b$, откуда $d\divides (a-bq) = r$, и из определения
$d'=\gcd(b,r)$ следует, что
$d\divides d'$. Кроме того, $d'\divides b$, $d'\divides r$, откуда
$d'\divides bq+r = a$, и из определения $d=\gcd(a,b)$ следует, что
$d'\divides d$. Мы получили, что $d\divides d'$ и
$d'\divides d$; это означает, что $d=\pm d'$, и потому $\gcd(a,b) =
\gcd(b,r)$.
\end{proof}

Поэтому
наибольший общий делитель пары, с которой мы работаем в алгорифме
Эвклида, не меняется; и как только в паре
появился $0$, другое число в паре должно быть равно $\gcd(a,b)$.

Более того, алгорифм Эвклида позволяет находить и линейное
представление НОД. Действительно, в конце алгорифма мы приходим к паре
$(d,0)$ и линейное представление очевидно: $d=d\cdot 1+0\cdot 0$. На
каждом шаге мы переходим от пары $(a,b)$ к паре $(b,r)$, где $a=bq+r$;
если мы уже знаем, что $d=bx'+ry'$, то, подставляя $r=a-bq$, имеем
$d=bx'+(a-bq)y'= ay'+b(x'-qy')$.

\subsection{Свойства НОД и взаимная простота}

\literature{[F], гл. I, \S~1, п. 5; [V],
  гл. I, \S~2; [B], гл. 3, пп. 1, 3.}

\begin{proposition}[Свойства НОД]\label{prop_properties_gcd}
\begin{enumerate}
\item $\gcd(x,y)=x$ тогда и только тогда, когда $x\divides y$.\label{gcd_prop1}
\item $\gcd(\gcd(x,y),z)=\gcd(x,\gcd(y,z))$.
\item $\gcd(zx,zy)=z\cdot\gcd(x,y)$.
\end{enumerate}
\end{proposition}
\begin{proof}
\begin{enumerate}
\item Если $\gcd(x,y)=x$, то $x\divides y$ по определению. Обратно, пусть
  $x\divides y$, тогда $x$~--- общий делитель $x$ и $y$, и если $d'$~---
  какой-то общий делитель $x,y$, то, в частности, $d'\divides x$. Значит,
  $\gcd(x,y)=x$.
\item Любой общий делитель $\gcd(x,y)$ и $z$ является общим делителем
  $x$, $y$ и $z$; то же можно сказать про любой общий делитель $x$ и
  $\gcd(y,z)$. Позже мы распространим определение $\gcd$ на несколько
  элементов и увидим, что и левая, и правая части необходимого
  равенства равны $\gcd(x,y,z)$.
\item Если $z=0$, то и слева, и справа стоит $0$; доказывать
  нечего. Пусть $\gcd(x,y)=d$; $d\divides x$, $d\divides y$, откуда
  $zd\divides zx$ и $zd\divides zy$; поэтому $zd\divides \gcd(zx,zy)$.
  Обратно, очевидно, что $z\divides zx$, $z\divides zy$,
  поэтому $z\divides\gcd(zx,zy)$. Запишем $\gcd(zx,zy)=zc$ для некоторого
  $c$. Значит, $zc\divides zx$, $zc\divides zy$, откуда после
  сокращения (с учетом того, что $z\neq 0$) получаем $c\divides x$ и
  $c\divides y$. Поэтому $c\divides \gcd(x,y)=d$, откуда
  $zc\divides zd$, то есть, $\gcd(zx,zy)\divides zd$.
\end{enumerate}
\end{proof}

\begin{definition}
Числа $a,b$ называются \dfn{взаимно простыми}\index{взаимная
  простота}, если
$\gcd(a,b)=1$. Обозначение: $a\perp b$.
\end{definition}

\begin{proposition}[Свойства взаимной
  простоты]\label{prop_properties_of_coprime}
Пусть $a,b,c$~--- некоторые целые числа.
\begin{enumerate}
\item Если $a\perp b$ и $a\perp c$, то $a\perp bc$.\label{coprime_prop1}
\item $a\perp b$ тогда и только тогда, когда существуют целые числа
  $u_0$, $v_0$ такие, что $au_0+bv_0=1$.\label{coprime_prop2}
\item Если $c\divides ab$ и $a\perp c$, то $c\divides b$.\label{coprime_prop3}
\item Если $b_1\divides a$, $b_2\divides a$ и $b_1\perp b_2$, то
  $b_1b_2\divides a$.\label{coprime_prop4}
\end{enumerate}
\end{proposition}
\begin{proof}
\begin{enumerate}
\item 
\begin{align*}
\gcd(a,bc)&=\gcd(\gcd(a,ac),bc)\\
&=\gcd(a,\gcd(ac,bc))\\
&=\gcd(a,c\gcd(a,b))\\
&=\gcd(a,c)\\
&=1.
\end{align*}
\item если $a\perp b$, то $1=au_0+bv_0$~--- линейное представление
  НОД. Обратно, если $au_0+bv_0=1$ и $d=\gcd(a,b)$, то $d\divides au_0$,
  $d\divides bv_0$, откуда $d\divides au_0+bv_0 = 1$ и $d=1$.
\item Запишем $au_0+cv_0=1$ и умножим на $b$:
  $abu_0+cbv_0=b$. Мы знаем, что $c\divides ab$, поэтому $c\divides
  abu_0$. Кроме того, очевидно, что $c\divides cbv_0$. Поэтому $c$
  делит и их сумму $abu_0+cbv_0 = b$.
\item $a=b_1k$ делится на $b_2$, $b_1\perp b_2$, по предыдущему
  свойству $k$ делится
  на $b_2$: $k=b_2l$, откуда $a=b_1k=b_1b_2l$.
\end{enumerate}
\end{proof}

\subsection{Линейные диофантовы уравнения}

\literature{[B], гл. 14, п. 2.}

Пусть $a,b,c\in\mb Z$.
Нас интересуют решения $(x,y)$ уравнения $ax+by=c$.
Если $a=b=0$, то при $c=0$ решение любое, а при $c\neq 0$ решений нет.

Если $b=0$, $a\neq 0$, получаем уравнение $ax=c$. Если $a\divides c$, то
$x=c/a$, $y$~--- любое; иначе решений нет.

Обозначим $d=\gcd(a,b)$. Заметим, что $d\divides a$, $d\divides b$,
поэтому $d$ должно делить выражение
$ax+by$ при всех $x,y$. Значит, если $d$ не делит $c$,
то решений нет.

Пусть теперь $d\divides c$. Запишем $a=da'$, $b=db'$,
$c=dc'$; тогда обе части нашего уравнения можно
поделить на $d$ и прийти к эквивалентному уравнению $a'x+b'y=c'$, для
которого уже $\gcd(a',b')=1$ (поскольку
$d=\gcd(a,b)=\gcd(da',db')=d\gcd(a',b')$).

Поэтому теперь можно считать, что $\gcd(a,b)=1$.
Мы знаем, что есть линейное представление НОД:
$au_0+bv_0=1$. Умножая на $c$ обе части, получаем, что
$a(u_0c)+b(v_0c)=c$. Обозначим $x_0=u_0c$, $y_0=v_0c$. Мы получили,
что у нашего уравнения есть решение $(x_0,y_0)$. Как найти все
решения?

Пусть $(x,y)$~--- какое-то решение уравнения $ax+by=c$. Вычитая
$ax_0+by_0=c$ из этого равенства, получаем $a(x-x_0)+b(y-y_0)=0$,
откуда $a(x-x_0)=b(y_0-y)$. Стало быть, $b\divides a(x-x_0)$; но $a\perp
b$, поэтому $b\divides x-x_0$. Запишем $x-x_0=bt$; тогда $abt=b(y_0-y)$,
откуда $y_0-y=at$. Получили, что произвольное решение $(x,y)$ нашего
уравнения выглядит так: $x=x_0+bt$, $y=y_0-at$. Итак, если
$(x_0,y_0)$~--- какое-то одно решение уравнения $ax+by=c$, то все его
решения имеют вид $(x_0+bt,y_0-at)$ для $t\in\mb Z$. Обратно, прямая
подстановка показывает, что $(x_0+bt,y_0-at)$ действительно является
решением нашего уравнения.

Теперь посмотрим на случай нескольких переменных. Для этого нам
понадобится расширить понятие НОД на случай нескольких чисел.

\begin{definition}
Пусть $a_1,\dots,a_n\in\mb Z$. Натуральное число $d$ называется
\dfn{наибольшим общим делителем}\index{делитель!наибольший
  общий!нескольких чисел} чисел $a_1,\dots,a_n$, если
выполняются следующие условия:
\begin{enumerate}
\item $d$~--- общий делитель $a_1,\dots,a_n$ (то есть, $d$ делит
  каждое $a_i$);
\item если $d'$~--- общий делитель $a_1,\dots,a_n$, то $d'\divides d$.
\end{enumerate}
Обозначение: $d=\gcd(a_1,\dots,a_n)$.
\end{definition}

\begin{exercise}
Докажите следующие свойства НОД:
\begin{enumerate}
\item $\gcd(a_1,\dots,a_n)=\gcd(\gcd(a_1,a_2),a_3,\dots,a_n)$;
\item $\gcd$ не зависит от порядка аргументов;
\item $\gcd(za_1,za_2,\dots,za_n)=|z|\gcd(a_1,\dots,a_n)$.
\end{enumerate}
\end{exercise}
Из этого упражнения, в частности, следует, что НОД нескольких чисел
существует и единственен.

% 08.10.2014

\begin{theorem}[Критерий разрешимости линейного диофантова уравнения
  от нескольких переменных]
Пусть $a_1,\dots,a_n,c\in\mb Z$. Линейное уравнение
$$
a_1x_1+\dots+a_nx_n=c
$$
разрешимо в целых числах тогда и только тогда, когда
$\gcd(a_1,\dots,a_n)$ делит $c$.
\end{theorem}
\begin{proof}
Очевидно, что если это уравнение разрешимо, то каждое слагаемое в
левой части делится на $\gcd(a_1,\dots,a_n)$, поэтому и $c$ на него
делится. Докажем теперь, что если $c$ делится на
$d=\gcd(a_1,\dots,a_n)$, то уравнение разрешимо.

Из нашего анализа линейного диофантова уравнения от двух переменных
следует, что этот критерий верен для $n=2$. Это будет базой для
индукции по $n$. Пусть теперь $n\geq 3$.
Рассмотрим следующее уравнение:
$$
\gcd(a_1,a_2)y_1+a_3y_3+\dots+a_ny_n=c.
$$
Это линейное диофантово уравнение от $n-1$ неизвестных
$y_1,y_3,\dots,y_n$. По предположению индукции оно разрешимо тогда и
только тогда, когда его правая часть, $c$, делится на
$\gcd(\gcd(a_1,a_2),a_3,\dots,a_n)=\gcd(a_1,a_2,a_3,\dots,a_n)=d$. У
нас по условию $d\divides c$, поэтому новое уравнение имеет решение
$(y_1,y_3,\dots,y_n)$. Построим теперь решение нашего первоначального
уравнения. Посмотрим на еще одно вспомогательное уравнение
$$
a_1x_1+a_2x_2=\gcd(a_1,a_2)y_1
$$
с неизвестными $x_1,x_2$. Правая часть делится на НОД его
коэффициентов, поэтому оно разрешимо. Итак, мы нашли $x_1,x_2$;
положим теперь $x_3=y_3,\dots,x_n=y_n$. Тогда
\begin{align*}
a_1x_1+a_2x_2+a_3x_3+\dots+a_nx_n&=\gcd(a_1,a_2)y_1+a_3x_3+\dots+a_nx_n\\
&=\gcd(a_1,a_2)y_1+a_3y_3+\dots+a_ny_n\\
&=c,
\end{align*}
поэтому $(x_1,\dots,x_n)$~--- решение исходного уравнения.

\end{proof}

\subsection{Основная теорема арифметики}

\literature{[F], гл. I, \S~1, п. 6; [K1], гл. 1, \S~9, п. 1;  [V],
  гл. I, \S~5, \S~6; [B], гл. 2, п. 1.}

\begin{definition}
Натуральное число $p$, отличное от $0$ и $1$, 
называется \dfn{простым}\index{простое число}, если из того, что
$p=xy$ для некоторых целых $x$, $y$,
следует, что $x$ ассоциировано с $p$ или $y$ ассоциировано с $p$.
\end{definition}

При этом, если $x$ ассоциировано с $p$, то $y$ ассоциировано с $1$;
если же $y$ ассоциировано с $p$, то $x$ ассоциировано с $1$.
Альтернативное определение: натуральное число $p>1$ называется
простым, если у него нет натуральных делителей, кроме $1$ и $p$.

\begin{proposition}[Свойства простых чисел]\label{primes_properties}
Пусть $p$~--- простое число.
\begin{enumerate}
\item если $n$~--- целое число, и $p$ не делит $n$, то $p$ и
  $n$ взаимно просты;\label{primes_prop1}
\item пусть $a,b\in\mbZ$; если $p$ делит $ab$, то $p$ делит $a$ или $p$
  делит $b$;\label{primes_prop2}
\item если $p$ делит произведение нескольких целых чисел,
  то $p$ делит хотя бы одно из них;\label{primes_prop6}
\item всякое целое число, большее 1, делится по крайней мере на одно
  простое;\label{primes_prop3}
\item простых чисел бесконечно много;
\item если $p_1$ и $p_2$~--- два различных простых числа,
  то они взаимно просты.\label{primes_prop5}
\end{enumerate}
\end{proposition}
\begin{proof}
\begin{enumerate}
\item Предположим, что $p$ не делит $n$, и пусть $d=\gcd(n,p)$. При
  этом $d\divides p$, поэтому $d$ либо
  ассоциировано с $p$, либо ассоциировано с $1$. Заметим, что $d$
  также делит $n$, поэтому если $d$ ассоциировано
  с $p$, то $p$ делит $n$~--- противоречие. Значит, $d$
  ассоциировано с $1$, откуда $n\perp p$.
\item Пусть $p$ делит $ab$, но не делит $a$. По
  предыдущему свойству $a\perp p$, и по свойству взаимно простых чисел
  получаем, что $p\divides b$.
\item Индукция по $n$; база~--- пункт
  (\ref{primes_prop2}). $p\divides (a_1a_2)a_3\dots a_n$,
  поэтому либо $a_1a_2$, либо какое-то из $a_i$ (при $i>2$) делится
  на $p$; если $a_1a_2$ делится на $p$, то либо $a_1$, либо $a_2$
  делится на $p$.
\item Пусть $n>1$. Если $n$ простое, доказывать нечего. Если же $n$ не
  простое, то $n=m_1n_1$ для некоторых целых чисел $n_1,m_1$, причем
  $1<n_1<n$ и $1<m_1<n$. Посмотрим теперь на $n_1$: оно либо простое,
  либо нет; если оно не простое, можно снова записать $n_1=m_2n_2$, и
  так далее. Заметим, что $n>n_1>n_2>\dots$, поэтому бесконечно долго
  этот процесс продолжаться не может~--- все эти числа
  натуральные. Значит, на каком-то шаге мы получим простое число
  $n_k$; нетрудно видеть, что $n$ на него делится.
\item Предположим обратное; пусть $\{p_1,\dots,p_k\}$~---  множество
  всех простых чисел. Рассмотрим число $n=p_1\cdot
  p_2\cdot\dots\cdot p_k+1$. По предыдущему свойству $n$ делится на
  какое-то простое число $p$; при этом если $p=p_i$ для некоторого
  $i$, то $1=n-p_1\cdot p_2\cdot\dots\cdot p_k$ делится на $p_i$, чего
  быть не может. Значит, число $p$ не входит в множество
  $\{p_1,\dots,p_k\}$.
\item Пусть $p_1$ и $p_2$ не взаимно просты; тогда по пункту
  (\ref{primes_prop1}) имеем $p_1\divides p_2$ и $p_2\divides p_1$, то
  есть, они равны.
\end{enumerate}
\end{proof}

\begin{theorem}[Основная теорема арифметики]\label{theorem_ota}
Каждое натуральное число, большее нуля, может быть представлено в
виде произведения простых чисел, и два таких разложения могут
отличаться только порядком следования сомножителей.
\end{theorem}
\begin{proof}
Существование разложения для натурального числа $n$ докажем индукцией
по $n$. База: если $n=1$, доказывать нечего~--- произведение пустого
множества простых чисел равно $1$. Переход: пусть теперь $n>1$. По
свойству (\ref{primes_prop3}) предложения \ref{primes_properties}
мы знаем, что $n=p_1n_1$ для некоторого простого $p_1$. Теперь $n_1<n$
и мы можем применить предположение индукции к $n_1$:
$n_1=p_2\cdots p_k$ для некоторых простых $p_2,\dots,p_k$. Отсюда
$n=p_1p_2\cdots p_k$~--- произведение простых чисел.

Докажем единственность разложения. Для этого снова проведем индукцию
по $n$. В случае $n=1$ снова доказывать нечего. Пусть $n=p_1\cdots
p_k=q_1\cdots q_l$. Видим, что произведение $p_1\cdots p_k$ делится на
$q_1$. По свойству~\ref{primes_prop6} простых чисел
(\ref{primes_properties})
один из сомножителей $p_1,\dots,p_k$ делится на $q_1$. Пусть это
$p_i$: $q_1\divides p_i$. Но по свойству~\ref{primes_prop5} простых чисел
(\ref{primes_properties}) из этого следует, что $p_i=q_1$. Поделим
теперь обе части равенства $p_1\cdots p_k=q_1\cdots q_l$ на
$p_i=q_1$: $p_1\cdots\widehat{p_i}\cdots p_k=q_1\cdots q_l$ (здесь
крышечка над $p_i$ означает, что соответствующий множитель
пропущен). Полученное произведение меньше $n$; по предположению
индукции, разложения в левой и правой частях отличаются лишь порядком
следования простых сомножителей. Значит, и первоначальные разложения
$p_1\cdots p_k=q_1\cdots q_l$ отличаются лишь порядком сомножителей.
\end{proof}

\begin{definition}
Пусть $n$~--- натуральное число, большее $0$.
Сгруппируем одинаковые простые числа в разложении 
$n$ вместе, расположим их в порядке возрастания и запишем
$n=p_1^{k_1}\cdots p_s^{k_s}$, где $p_1<\dots<p_s$~--- простые, и
$k_1,\dots,k_s>0$~--- натуральные числа. Такая (очевидно, однозначная)
запись называется \dfn{каноническим разложением}\index{каноническое разложение}
натурального числа $n$ на простые множители.
\end{definition}
\begin{remark}\label{remark_canonical_zeros}
На практике полезно допускать в каноническом разложении и нулевые
показатели $k_1,\dots,k_s$ (конечно,
при этом потеряется однозначность записи). К примеру, мы будем
пользоваться тем, что если $m$, $n$~--- два ненулевых натуральных
числа, то можно записать их в виде $m=p_1^{k_1}\dots p_s^{k_s}$,
$n=p_1^{l_1}\dots p_s^{l_s}$ для некоторых {\it общих} простых
$p_1,\dots,p_s$ и натуральных $k_1,\dots,k_s,l_1,\dots,l_s$: если
какие-то простые
множители, скажем, есть в каноническом разложении $m$, но отсутствуют
в разложении $n$, можно дописать их в разложение $n$ с нулевыми показателями.
\end{remark}

Приведем несколько примеров использования канонического
разложения. Пусть $m$, $n$~--- ненулевые натуральные числа. Как по
каноническому разложению $m$ и $n$ определить, делится ли $m$ на $n$?
Запишем (пользуясь замечанием~\ref{remark_canonical_zeros})
$m=p_1^{k_1}\cdots p_s^{k_s}$ и $n=p_1^{l_1}\cdots p_s^{l_s}$ для
некоторых простых $p_1,\cdots,p_s$. Если $m$ делит $n$, можно
записать $n=mr$. Пусть $r=q_1\cdots q_t$~--- какое-то разложение $r$
на простые множители. Тогда равенство $n=mr$ превращается в равенство
\begin{equation}
p_1^{l_1}\cdots p_s^{l_s} = p_1^{k_1}\cdots p_s^{k_s}q_1\cdots q_t.\label{eq_mnr}
\end{equation}
Можно посмотреть на это равенство как на два разложения числа $m$ в
произведение простых. По основной теореме арифметики
(\ref{theorem_ota}) они должны совпадать с точностью до перестановки
множителей. Стало быть, если в разложении $m$ встретилось $p_i^{k_i}$
для $k_i>0$, то справа в равенстве~\ref{eq_mnr} простой сомножитель
$p_i$ встретился как минимум $k_i$ раз; значит, и слева он должен
встретиться как минимум $k_i$ раз. Однако слева показатель при $l_i$
равен $l_i$. Значит, $k_i\leq l_i$. Если же $k_i=0$ для какого-то $i$,
то неравенство $k_i\leq l_i$ выполнено автоматически.
Обратно, если $k_i\leq l_i$ для всех $i=1,\dots,s$, то
$n = m\cdot p_1^{l_i-k_i}\cdots p_s^{l_s-k_s}$.
Мы доказали следующее предложение:

\begin{proposition}\label{prop_can_decomposition_divisors}
Пусть $m=p_1^{k_1}\cdots p_s^{k_s}$, $n=p_1^{l_1}\cdots p_s^{l_s}$ для
некоторых простых $p_1,\dots,p_s$.
$m$ делит $n$ тогда и только тогда, когда
$k_i\leq l_i$ для всех $i=1,\dots,s$.
\end{proposition}

Теперь нетрудно посчитать количество всех натуральных делителей числа по
его каноническом разложению.
\begin{proposition}
Пусть $n=p_1^{l_1}\cdots p_s^{l_s}$~--- каноническое разложение числа
$n$. Тогда количество всех натуральных делителей $n$ равно
$(1+l_1)\cdots(1+l_s)$.
\end{proposition}
\begin{proof}
По предложению~\ref{prop_can_decomposition_divisors} каждый делитель
$n$ имеет вид $p_1^{k_1}\cdots p_s^{k_s}$ для некоторых $k_i$ таких,
что $0\leq k_i\leq l_i$, и по основной теореме арифметики
(\ref{theorem_ota}) различные наборы $(k_i)$ приводят к различным
делителям. Значит, количество натуральных делителей $n$ равно
количеству таких наборов. Заметим, что у нас имеется $1+l_i$ вариантов
для выбора натурального $k_i$ с условием $0\leq ka_i\leq l_i$, и все
эти выборы независимы друг от друга, поэтому 
простой комбинаторный подсчет показывает, что количество наборов
$(k_i)$ равно $(1+l_1)\cdots (1+l_s)$.
\end{proof}

Выразим теперь каноническое разложение наибольшего общего делителя
чисел $m$ и $n$ через канонические разложения $m$ и $n$.

\begin{proposition}\label{prop_gcd_canonical}
Если $m=p_1^{k_1}\cdots p_s^{k_s}$, $n=p_1^{l_1}\cdots p_s^{l_s}$ для
некоторых простых $p_1<\dots<p_s$ и $d=\gcd(m,n)$, то
$d=p_1^{\min(k_1,l_1)}\cdots p_s^{\min(k_s,l_s)}$.
\end{proposition}
\begin{proof}
Проверим, что $d$ является общим делителем $m$ и $n$. Действительно,
$k_i\geq\min(k_i,l_i)$, поэтому $m=d\cdot
p_1^{k_1-\min(k_1,l_1)}\cdots p_s^{k_s-\min(k_s,l_s)}$ и $d\divides
m$. Аналогично,
$d\divides n$.
Теперь пусть $d'$~--- какой-то общий делитель $m$ и $n$. Заметим, что
все простые множители $d'$ тогда должны содержаться среди
$p_1,\dots,p_s$. Значит, можно записать $d'=p_1^{r_1}\cdots p_s^{r_s}$
для некоторых натуральных $r_1,\dots,r_s$. Поскольку $d'\divides m$,
по предложению~\ref{prop_can_decomposition_divisors} получаем, что
$k_i\geq r_i$ для всех $i$; аналогично, $l_i\geq r_i$ для всех $i$. Но
тогда и $\min(k_i,l_i)\geq r_i$, откуда получаем, что $d\divides d'$,
рассуждая так же, как в начале доказательства.
\end{proof}

\subsection{Сравнения и классы вычетов}

\literature{[F], гл. I, \S~2, п. 1;  [V], гл. III, \S\S~1--5; [B],
  гл. 8, п. 1.}

\begin{definition}
Пусть $m$~--- ненулевое натуральное число.
Говорят, что целые числа $a$ и $b$ \dfn{сравнимы по модулю
  $m$}\index{сравнимость по модулю}, если
$m$ делит $a-b$. Обозначение: $a\equiv b\pmod m$, $a\equiv_mb$.
\end{definition}

\begin{proposition}[Свойства сравнений]\label{prop_congruences}
Пусть $m>0$~--- натуральное число.
\begin{enumerate}
\item $a\equiv a\pmod m$;
\item если $a\equiv b\pmod m$, то $b\equiv a\pmod m$;
\item если $a\equiv b\pmod m$ и $b\equiv c\pmod m$, то $a\equiv c\pmod
  m$;
\item если $a_1\equiv a_2\pmod m$ и $b_1\equiv b_2\pmod m$, то
  $a_1+b_1\equiv a_2+b_2\pmod m$ и $a_1b_1\equiv a_2b_2\pmod
  m$;\label{congruences_prop4}
\item каждое целое число сравнимо по модулю $m$ ровно с одним из чисел
  $0,1,\dots,m-1$;\label{congruences_prop5}
\item если $ac\equiv bc\pmod m$ и $c\perp m$, то $a\equiv b\pmod m$;
\item сравнение $ax\equiv 1\pmod m$ разрешимо (относительно $x$) тогда
  и только тогда, когда $a\perp m$.\label{congruences_prop7}
\end{enumerate}
\end{proposition}
\begin{proof}
\begin{enumerate}
\item $m$ делит $a-a=0$.
\item Если $m$ делит $a-b$, то $m$ делит $b-a=-(a-b)$.
\item Если $m$ делит $a-b$ и $b-c$, то $m$ делит и
  $a-c=(a-b)+(b-c)$.
\item Если $m$ делит $a_1-a_2$ и $b_1-b_2$, то $m$ делит
  $(a_1+b_1)-(a_2+b_2)=(a_1-a_2)+(b_1-b_2)$ и
  $a_1b_1-a_2b_2=(a_1-a_2)b_1+a_2(b_1-b_2)$.
\item Пусть $n\in\mbZ$. Поделим $n$ на $m$ с остатком: $n=mq+r$, где
  $0\leq r\leq m-1$; тогда $n-r=mq$ делится на $m$, поэтому $n\equiv
  r\pmod m$. С другой стороны, если $n\equiv r_1\pmod m$ и $n\equiv
  r_2\pmod m$ и $0\leq r_1,r_2\leq m-1$, то $r_1\equiv r_2$ (по уже
  доказанным
  свойствам 2 и 3), откуда $m\divides r_1-r_2$. Но $|r_1-r_2|\leq m-1$,
  поэтому $r_1=r_2$.
\item Если $m$ делит $ac-bc = (a-b)c$, и $c\perp m$, то по
  свойству~\ref{coprime_prop3}
  из~\ref{prop_properties_of_coprime}
  получаем, что $m$ делит $a-b$.
\item Если $a\perp m$, то $1=au_0+mv_0$ для некоторых целых $u_0$,
  $v_0$, откуда $au_0-1=-mv_0$ делится на $m$, и $au_0\equiv 1\pmod
  m$. Обратно, если $ax_0\equiv 1\pmod m$ для некоторого $x_0$, то
  $m\divides ax_0-1$, значит, $ax_0-1=mq$ для некоторого $q$, откуда
  $ax_0-mq=1$. По свойству~\ref{coprime_prop2} взаимной
  простоты (\ref{prop_properties_of_coprime}) получаем, что
  $a\perp m$.
\end{enumerate}
\end{proof}

\begin{remark}\label{rem_congruence_is_equivalence}
Первые три свойства в~\ref{prop_congruences} показывают, что
$\equiv_m$ является отношением
эквивалентности на множестве целых чисел.
\end{remark}

%15.10.2014

\subsection{Классы вычетов, действия над ними}\label{subsect_residues}

\literature{[F], гл. I, \S~2, пп. 2, 3; [K1], гл. 4, \S~3,
пп. 1, 2; [B], гл. 8, п. 2.}

 Мы знаем, что отношение сравнимости по модулю $m$ является отношением
эквивалентности на множестве целых чисел
(см.~\ref{rem_congruence_is_equivalence}). Значит, можно рассмотреть
фактор-множество множества $\mb Z$ по этому отношению эквивалентности
(см.~\ref{def_quotient_set}).
\begin{definition}
Фактор-множество $\mb Z/\equiv_m$ мы
будем обозначать через $\mb Z/m\mb Z$. Элементы этого множества
называются \dfn{классами вычетов}\index{класс вычетов} по модулю $m$.
Класс эквивалентности элемента $a$ в $\mb Z/m\mb Z$ мы будем
обозначать через $\ol{a}$ или $[a]_m$.
\end{definition}

\begin{remark}\label{rem_cong_representatives}
По свойству~\ref{congruences_prop5} сравнений (\ref{prop_congruences})
каждое целое число попадает в один класс с ровно одним из чисел
$0,1,\dots,m-1$. Это означает, что $\mb Z/m\mb
Z=\{\ol{0},\ol{1},\dots,\ol{m-1}\}$. В частности, получаем, что $|\mb
Z/m\mb Z|=m$.
\end{remark}

Сейчас мы определим на множестве $\mb Z/m\mb Z$ операции сложения $+$
и умножения $\cdot$. Чтобы сложить два класса вычетов, нужно выбрать в
каждом из них какой-нибудь элемент (такой элемент называется {\it
  представителем} класса вычетов), сложить эти выбранные элементы и
посмотреть, в какой класс попадет результат. Совершенно аналогично
поступаем и с умножением. Остается проверить, что результат этой
операции не зависит от выбора представителей. Эту независимость обычно
называют {\it корректностью} определения операции.

Итак, если даны два класса $\ol{x}, \ol{y}\in\mb Z/m\mb Z$ (то есть,
$x,y\in\mb Z$~--- представители этих двух классов), положим
$\ol{x}+\ol{y}=\ol{x+y}$ и $\ol{x}\cdot\ol{y}=\ol{xy}$.
Проверим, что эти операции корректно определены:
пусть теперь $x'$, $y'$~--- другие представители тех же классов, то
есть, $x'\in\ol{x}$, $y'\in\ol{y}$ (или, что то же самое,
$\ol{x'}=\ol{x}$ и $\ol{y'}=\ol{y}$). По определению классов
эквивалентности (\ref{def_equiv_class}) это означает, что $x'\equiv
x\pmod m$, $y'\equiv y\pmod m$. Почему же $\ol{x+y}$ совпадает с
$\ol{x'+y'}$, а $\ol{xy}$ совпадает с $\ol{x'y'}$? Это в точности
свойство~\ref{congruences_prop4} сравнений (\ref{prop_congruences}):
$x'+y'\equiv x+y\pmod m$ и $x'y'\equiv xy\pmod m$.

\subsection{Кольца и поля}

\literature{[F], гл. I, \S~3, п. 2; [K1], гл. 4, \S~3,
пп. 2, 4; [vdW], гл. 3, \S~11.}

В предыдущем разделе мы построили новую структуру, элементы которой
могут складываться и
умножаться. Эти элементы очень похожи на числа, поскольку сложение и
умножение обладает фактически <<теми же>> свойствами, что и обычные
числовые системы~--- множества $\mb Z$, $\mb Q$, $\mb R$. Сейчас мы
сформулируем несколько базовых свойств сложения и умножения, из
которых, при желании, можно вывести аналоги большинства алгебраических
тождеств, изучаемых в средней школе. Множество с операциями сложения и
умножения, которые ведут себя как <<настоящие>> сложение и умножение,
называется {\it кольцом}

\begin{definition}\label{def:ring}
Пусть $R$~--- множество, на котором заданы две бинарные операции $+$ и
$\cdot$ (называемые, соответственно, {\it сложением} и {\it умножением}).
Предположим, что выполняются следующие свойства:
\begin{enumerate}
\item $a+(b+c) = (a+b)+c$ для любых $a,b,c\in R$ ({\it ассоциативность
    сложения}).
\item\label{ring_property:zero} существует элемент $\ol{0}\in
  R$ такой, что $\ol{0} + a = a = a
  + \ol{a}$ для всех $a\in R$ (то есть, $\ol{0}$~--- {\it нейтральный
    элемент относительно сложения}; он называется
  \dfn{нулем}\index{нуль!в кольце} и часто
  обозначается просто через $0$);
\item\label{ring_property:minus} для любого $a\in R$ существует
  элемент $a'\in R$ такой, что $a +
  a' = \ol{0} = a' + a$ (то есть, $a'$~--- [двусторонний] {\it обратный к
  $a$ относительно сложения}; такой элемент обычно обозначается через
  $-a$ и называется
  \dfn{противоположным}\index{противоположный элемент} к $a$);
\item $a+b = b+a$ для любых $a,b\in R$ ({\it коммутативность
    сложения});
\item $a\cdot (b+c) = a\cdot b + a\cdot c$ и $(b+c)\cdot a = b\cdot a
  + c\cdot a$ для любых $a,b,c\in R$ ({\it дистрибутивность сложения
    относительно умножения}).
\item $a\cdot (b\cdot c) = (a\cdot b)\cdot c$ для любых $a,b,c\in R$
  ({\it ассоциативность умножения});
\item\label{ring_property:one} существует элемент $\ol{1}\in R$ такой, что $\ol{1}\cdot a = a =
  a\cdot\ol{1}$ для любого $a\in R$ (то есть, $\ol{1}$~---
  {\it нейтральный элемент относительно умножения}; он называется
  \dfn{единицей}\index{единица!в кольце} и часто обозначается просто
  через $1$);
\item $a\cdot b = b\cdot a$ для любых $a,b\in R$ ({\it коммутативность
    умножения});
\end{enumerate}
Тогда $R$ (с этими двумя операциями) называется \dfn{ассоциативным
  коммутативным кольцом с единицей}\index{кольцо}. Тяжеловесность
этого названия
связана с тем, что обычно множество с операциями, удовлетворяющее
свойствам (1)--(5), называют \dfn{кольцом}, а при наложении условий
(6), (7), (8) (в различных комбинациях) добавляют к слову <<кольцо>>
эпитеты <<ассоциативное>>, <<с единицей>>, <<коммутативное>>. В нашем
курсе большинство встречающихся колец (во всяком случае, до пятой
главы) будут обладать всеми указанными
свойствами, поэтому мы часто будем называть ассоциативное коммутативное
кольцо с единицей просто {\it кольцом}, а при необходимости говорить о
{\it некоммутативных кольцах} или, скажем, {\it кольцах без единицы}.
\end{definition}

Обратите внимание, что свойства (1), (2), (4) для сложения совершенно
параллельны свойствам (6), (7), (8). Однако, свойство (3) утверждает,
что сложение обладает еще одним свойством, которое не требуется от
умножения. Чуть ниже мы назовем кольцо, в котором аналогичное свойство
(с небольшой модификацией) выполнено для умножения, {\it
  полем}. Свойство (5)~--- единственное, которое связывает две
операции; в каждое из остальных входит либо сложение, либо умножение
по отдельности.

\begin{examples}\label{examples:rings}
Совершенно очевидно, что множества $\mb Z$, $\mb Q$, $\mb R$ являются
кольцами относительно обычных операций сложения и умножения;
в каждом из них нейтральный элемент по сложению~--- это $0$, а
нейтральный элемент по умножению~--- это $1$.
\end{examples}

\begin{proposition}\label{prop_zmz_is_a_ring}
Пусть $m$~--- натуральное число, $m\geq 1$.
Множество $\mb Z/m\mb Z$ с операциями $+$ и $\cdot$, введенными в
разделе~\ref{subsect_residues}, является ассоциативным коммутативным
кольцом с $1$.
\end{proposition}
\begin{proof}
Проверим свойство (1).
Пусть $x,y,z$~--- представители классов $a,b,c$ соответственно,
то есть, $a=\ol{x}$, $b=\ol{y}$, $c=\ol{z}$. Тогда
$a+(b+c)=\ol{x}+(\ol{y}+\ol{z})=\ol{x}+\ol{y+z}=\ol{x+(y+z)}$ и
$(a+b)+c=(\ol{x}+\ol{y})+\ol{z}=\ol{x+y}+\ol{z}=\ol{(x+y)+z}$. Полученные
элементы равны, поскольку сложение целых чисел ассоциативно.
Остальные свойства доказываются совершенно аналогично с помощью
соответствующих свойств сложения и умножения целых чисел. Заметим, что
в качестве нейтрального элемента по сложению в свойстве
(\ref{ring_property:zero}) следует взять класс нуля
$\ol{0}$, а в качестве нейтрального элемента по умножению в свойстве
(\ref{ring_property:one})~--- класс единицы $\ol{1}$.
Наконец, если $a=\ol{x}$, то в свойстве (\ref{ring_property:minus}) в
качестве противоположного элемента нужно взять $a'=\ol{-x}$.
\end{proof}

\begin{definition}
Кольцо $\mb Z/m\mb Z$, описанное в
предложении~\ref{prop_zmz_is_a_ring}, называется \dfn{кольцом классов
  вычетов по модулю $m$}\index{кольцо!классов вычетов}.
\end{definition}

\begin{definition}
Множество, состоящее из одного элемента, единственным образом
снабжается структурой ассоциативного коммутативного кольца с
единицей. Обычно мы называем этот элемент {\it нулем}, а полученное
кольцо $R = \{0\}$ \dfn{нулевым кольцом}\index{кольцо!нулевое}, и
обозначаем это кольцо
через $0$ (если это не вызывает путаницы в обозначениях).
\end{definition}

\begin{lemma}\label{lemma:zero_ring}
Пусть $R$~--- кольцо. 
\begin{enumerate}
\item $a\cdot\ol{0} = \ol{0}$ для всех $a\in R$;
\item если в $R$ элементы $\ol{0}$ и $\ol{1}$ совпадают, то это
  нулевое кольцо;
\item если у элемента $\ol{0}\in R$ есть обратный по умножению, то
  $R$~--- нулевое кольцо;
\end{enumerate}
\end{lemma}
\begin{proof}
\begin{enumerate}
\item Из определения $\ol{0}$ следует, что $\ol{0} + \ol{0} =
  \ol{0}$. Домножая обе части на $a$, получаем, что
  $a\cdot(\ol{0} + \ol{0}) = a\cdot\ol{0}$. Воспользуемся
  дистрибутивностью: $a\cdot\ol{0} + a\cdot\ol{0} =
  a\cdot\ol{0}$. Прибавляя к обеим частям полученного равенства
  противоположный элемент к $a\cdot\ol{0}$, получаем, что
  $a\cdot\ol{0} = \ol{0}$, что и требовалось.
\item Пусть $\ol{0} = \ol{1}$ и $a\in R$. Тогда $a\cdot\ol{0} =
  a\cdot\ol{1}$. Но мы только что показали, что левая часть равна
  $\ol{0}$, в то время как правая часть равна $a$. Поэтому $a=\ol{0}$,
  и кольцо $R$ состоит из одного элемента.
\item Пусть $\ol{0}^{-1}$~--- обратный по умножению к $0$; тогда
  $\ol{0}^{-1}\cdot\ol{0} = \ol{1}$; с другой стороны, левая часть
  равна $\ol{0}$ по уже доказанному. Поэтому $\ol{0}=\ol{1}$, и
  $R$~--- нулевое кольцо.
\end{enumerate}
\end{proof}

Лемма~\ref{lemma:zero_ring} показывает, что не очень разумно ожидать,
что у {\it каждого} элемента кольца окажется обратный по умножению: из
этого тут же следовало бы, что это кольцо нулевое. Однако, если
потребовать существования обратного у каждого {\it ненулевого}
элемента, то получится разумная структура, которая называется
{\it полем}.

\begin{definition}\label{def:field}
Ассоциативное коммутативное кольцо $R$ с единицей называется
\dfn{полем}\index{поле}, если $R\neq 0$ и у каждого ненулевого
элемента $R$ имеется обратный по умножению. Иными словами, ненулевое
кольцо $R$ называется полем, если для любого $x\in R$ найдется
$x^{-1}\in R$ такое, что $x\cdot x^{-1} = 1 = x^{-1}\cdot x$.
\end{definition}

\begin{examples}
Кольца $\mb Q$ и $\mb R$ из примера~\ref{examples:rings} являются
полями, а кольцо $\mb Z$~--- нет.
\end{examples}

Множество всех обратимых элементов кольца мы будем обозначать через
$R^*$. Так, $\mb R^* = \mb R\setminus\{0\}$, $\mb Z^* = \{-1,1\}$.

Сейчас мы выясним, какие из колец вида $\mb Z/m\mb Z$ являются полями.

\begin{definition}\label{def:domain}
Пусть $R$~--- кольцо. Элемент $x\in R$ называется \dfn{делителем
  нуля}\index{делитель нуля}, если найдется ненулевой элемент $y\in
R$ такой, что $xy = 0$. Делитель нуля называется
\dfn{тривиальным}\index{делитель нуля!тривиальный}, если он равен
нулю, и \dfn{нетривиальным}\index{делитель нуля!нетривиальный}, если
он не равен нулю. Кольцо $R$ называется
\dfn{областью целостности}\index{область целостности}, если $R\neq 0$
и в $R$ нет нетривиальных делителей нуля. Иными словами, ненулевое
кольцо $R$ называется областью целостности, если из
равенства $xy = 0$ следует, что $x = 0$ или $y = 0$.
\end{definition}

\begin{lemma}\label{lemma:product_of_invertibles}
Произведение обратимых элементов кольца $R$ обратимо.
\end{lemma}
\begin{proof}
Если $x,y\in R$ обратимы, то $y^{-1}x^{-1}$~--- обратный элемент
к $xy$. Действительно, $(xy)(y^{-1}x^{-1}) = x(yy^{-1})x^{-1} =
xx^{-1} = 1$, и $(y^{-1}x^{-1})(xy) = y^{-1}(x^{-1}x)y =
y^{-1}y = 1$.
\end{proof}

\begin{lemma}\label{lemma:field_is_a_domain}
Любое поле является областью целостности.
\end{lemma}
\begin{proof}
Пусть $R$~--- поле. Если в $R$ есть нетривиальный делитель нуля $x\neq
0$, то найдется $y\neq 0$ такой, что $xy = 0$. В поле все ненулевые
элементы обратимы, в том числе $x$ и $y$. По
лемме~\ref{lemma:product_of_invertibles} и их произведение $xy = 0$
обратимо, и по лемме~\ref{lemma:zero_ring} кольцо $R$ нулевое~---
противоречие.
\end{proof}

Заметим, что обратное утверждение к
лемме~\ref{lemma:field_is_a_domain} неверно: например, $\mb Z$
является областью целостности, но не полем.

Лемма~\ref{lemma:field_is_a_domain} показывает, например, что кольцо
$\mb Z/6\mb Z$ не является полем, поскольку в нем есть делители
нуля. Действительно, $\ol{2}\cdot\ol{3} = \ol{6} = \ol{0}$ в $\mb
Z/6\mb Z$.

\begin{proposition}\label{prop_invertibility_criteria}
Пусть $m>0$~--- натуральное число, $a\in\mb Z$. Класс $\ol{a}$ обратим
в $\mb Z/m\mb Z$ тогда и только тогда, когда $a\perp m$.
\end{proposition}
\begin{proof}
Заметим, что $\ol{x}$ является обратным к $\ol{a}$ $\Leftrightarrow$
$\ol{a}\cdot\ol{x}=\ol{1}$ $Leftrightarrow$
$\ol{ax}=\ol{1}$ $\Leftrightarrow$
$ax\equiv 1\pmod m$. По предложению~\ref{prop_congruences} это
сравнение разрешимо относительно $x$ тогда и только тогда, когда
$a\perp m$.
\end{proof}

\begin{proposition}\label{prop_zmz_field}
Кольцо $\mb Z/m\mb Z$ является полем тогда и только тогда, когда
$m$~--- простое число.
\end{proposition}
\begin{proof}
Пусть $m$~--- простое и $\ol{x}\in\mb Z/m\mb Z$ таков, что
$\ol{x}\neq\ol{0}$.
Стало быть, $x$ не делится на $m$. По свойству~\ref{primes_prop1}
простых чисел (\ref{primes_properties}) получаем, что $x\perp m$, и по
предложению~\ref{prop_invertibility_criteria} класс $\ol{x}$ обратим.
Обратно, если $m$ не простое, можно записать $m=kl$ для некоторых
натуральных $k$, $l$, причем $1 < k,l < m$.
Тогда $\ol{k}\cdot\ol{l} = \ol{m} = \ol{0}$, и потому в $\mb Z/m\mb Z$
есть делители нуля. По лемме~\ref{lemma:field_is_a_domain} это кольцо
не может быть полем.
\end{proof}

\subsection{Китайская теорема об остатках}

\literature{[V], гл. IV, \S~3.}

\begin{theorem}[Китайская теорема об остатках]\label{thm_crt}
Пусть $m, n\geq 1$~--- натуральные числа, $m\perp n$, $a,b$~--- целые
числа.
Тогда существует целое $x$ такое, что $x\equiv a\pmod
m$, $x\equiv b\pmod n$.
Кроме того, целое $x'$ удовлетворяет сравнениям $x'\equiv
a\pmod m$, $x'\equiv b\pmod n$ тогда и только тогда, когда $x'\equiv
x\pmod{mn}$.
\end{theorem}
\begin{proof}
Воспользуемся свойством (\ref{congruences_prop7}) сравнений
(\ref{prop_congruences}) и найдем $x_1,x_2\in\mb Z$ такие, что
$nx_1\equiv 1\pmod m$, $mx_2\equiv 1\pmod n$.
Теперь положим $x=anx_1+bmx_2$. Мы утверждаем, что это $x$
удовлетворяет свойствам из формулировки теоремы. Действительно,
$x=anx_1+bmx_2\equiv a(nx_1)\equiv a\pmod m$ и
$x=anx_1+mbx_2\equiv b(mx_2)\equiv b\pmod n$.
Теперь пусть $x'$~--- целое число такое, что $x'\equiv a\pmod m$ и
$x'\equiv b\pmod n$, то $x-x'\equiv a-a\equiv 0\pmod m$ и $x-x'\equiv
b-b\equiv 0\pmod n$. Это означает, что $x-x'$ делится на $m$ и $n$. Но
$m$ и $n$ взаимно просты, поэтому по свойству \ref{coprime_prop4}
взаимной простоты
(\ref{prop_properties_of_coprime}) получаем, что $mn\divides x-x'$,
откуда $x\equiv x'\pmod{mn}$. Обратно, если $x\equiv x'\pmod mn$, то
$x-x'$ делится на $m$ и на $n$, поэтому $x'\equiv x\equiv a\pmod m$ и
$x'\equiv x\equiv b\pmod n$.
\end{proof}

Иными словами, система сравнений
$$
\left\{
\begin{aligned}
x&\equiv a\pmod m,\\
y&\equiv b\pmod n
\end{aligned}
\right.
$$
всегда имеет решение, и это решение единственно с точностью до
сравнимости по модулю $mn$.

\subsection{Теорема Вильсона}

\literature{[V], гл. IV, \S~4; [B], гл. 15, п. 3.}

\begin{theorem}[Вильсона]
Пусть $p\in\mb N$, $p>1$. Число $p$ является простым тогда и только
тогда, когда $(p-1)!\equiv -1\pmod p$.
\end{theorem}
\begin{proof}
Пусть $p$~--- простое.
Посмотрим на класс $\overline{(p-1)!}$ в $\mb Z/p\mb Z$:
\begin{equation}\label{eq_wilson}
\overline{(p-1)!}=\ol{1}\cdot\ol{2}\cdot\cdots\cdot\ol{(p-1)}.
\end{equation}
В произведении справа выписаны все ненулевые элементы $\mb Z/p\mb
Z$. По предложению~\ref{prop_zmz_field} все они обратимы. Разобьем их
на пары, поставив каждому классу в пару обратный к нему. Нетрудно
проверить, что у каждого класса только один обратный (если $a'$,
$a''$~---обратные к $a$, то $a'=a'\cdot (a\cdot a'')=(a'\cdot a)\cdot
a''=a''$), и что $(a^{-1})^{-1}=a$.

Проблемы с разбиением на пары
возникают только тогда, когда класс обратен сам себе (в этом случае
получается вырожденная <<пара>> из одного элемента). Но таких класса
только два: $\ol{1}$ и $\ol{-1}$. Действительно, если $\ol{x}\in\mb Z/p\mb
Z$ таков, что $\ol{x}\cdot\ol{x}=\ol{1}$, то $x^2\equiv 1\pmod p$,
откуда $p\divides x^2-1$, то есть, $p\divides (x-1)(x+1)$, и по
свойству~\ref{primes_prop2} простых чисел (\ref{primes_properties}) из
этого следует, что $p\divides x\pm 1$, то есть, что $x\equiv \pm 1\pmod
p$.

Поэтому все классы, кроме $\ol{1}$ и $\ol{-1}$ разбиваются на пары
взаимно обратных, и произведение классов в каждой паре равно
$\ol{1}$. Остается только домножить произведение всех классов из пар
на $\ol{1}$ и $\ol{-1}$; получаем, что общее произведение, стоящее в
правой части (\ref{eq_wilson}), равно $\ol{-1}$.

Теперь покажем, что если $p$ не является простым, то $(p-1)!$ не
сравнимо с $-1$ по модулю $p$. Пусть $p=kl$~--- нетривиальное
разложение $p$ на множители. Тогда $(p-1)!$ делится на $k$, поскольку
среди чисел $1,\dots,p-1$ встретится $k$. Если все-таки $(p-1)!\equiv
-1\pmod p$, то $p\divides (p-1)!+1$, откуда $(p-1)!+1=ps$ для некоторого
$s\in\mb Z$, откуда $1=ps-(p-1)!$ делится на $k$ (поскольку $p$
делится на $k$ и $(p-1)!$ делится на $k$)~--- противоречие.
\end{proof}

\subsection{Функция Эйлера}

\literature{[F], гл. I, \S~2, п. 3; [V], гл. II, \S~4; [B], гл. 10.}

\begin{definition}\label{def_euler_function}
Пусть $n\in\mb N$, $n>0$. Количество натуральных чисел, меньших $n$ и
взаимно простых с $n$, обозначается через $\ph(n)$. Иными словами,
$\ph(n)=|\{x\in\mb N\mid x<n\text{ и }x\perp n\}|$. Сопоставление
$n\mapsto \ph(n)$ задает функцию $\mb N\setminus\{0\}\to\mb N$,
которая называется \dfn{функцией Эйлера}\index{функция Эйлера}.
\end{definition}

\begin{example}
Прямое вычисление показывает, что $\ph(1)=1$, $\ph(2)=1$, $\ph(3)=2$.
\end{example}

\begin{proposition}\label{prop_phi_alt_def}
Пусть $n\in\mb N$, $n>0$. Тогда $\ph(n)$ равно количеству обратимых
элементов кольца $\mb Z/n\mb Z$: $\ph(n)=|(\mb Z/n\mb Z)^*|$.
\end{proposition}
\begin{proof}
Пусть $0\leq x< n$; по предложению~\ref{prop_invertibility_criteria}
$x\perp n$ тогда и только тогда, когда $\ol{x}$ обратим.
\end{proof}

\begin{remark}\label{rem_phi_p}
Теперь можно посчитать $\ph(p)$ для простого $p$: по
предложению~\ref{prop_zmz_field} кольцо $\mb Z/p\mb Z$ является полем,
то есть, $(\mb Z/p\mb Z)^*=(\mb Z/p\mb Z)\setminus\{\ol{0}\}$, откуда
$\ph(p)=|(\mb Z/p\mb Z)^*|=p-1$.
Это можно получить и прямым подсчетом: число $x$, $0\leq x<p$, взаимно
просто с $p$ тогда и только тогда, когда оно не делится на $p$, то
есть, когда оно не равно $0$.

Прямой подсчет позволяет вычислить и $\ph(p^k)$, где $p$~--- простое,
$k>0$~--- натуральное. Действительно, $x$ взаимно прост с
$p^k$ тогда и только тогда, когда $x$ взаимно прост $p$, то есть, $x$
не делится на $p$. Количество натуральных чисел, меньших $p^k$ и
делящихся на $p$, равно $p^k/p=p^{k-1}$, поэтому
$\ph(p^k)=p^k-p^{k-1}=p^{k-1}(p-1)$.
\end{remark}

% 22.10.2014

Для того, чтобы вычислить значение $\ph(n)$ по каноническому
разложению числа $n$, нам понадобится переформулировка китайской
теоремы об остатках.

\begin{theorem}\label{thm_crt2}
Пусть натуральные числа $m,n\geq 1$ таковы, что $m\perp n$.
Рассмотрим отображение $f\colon\mb Z/mn\mb Z\to\mb Z/m\mb Z\times\mb
Z/n\mb Z$, сопоставляющее классу
$\ol{x}=[x]_{mn}\in\mb Z/mn\mb Z$ пару классов $([x]_m,[x]_n)$. Это
отображение корректно определено и является биекцией.
\end{theorem}
\begin{proof}
Корректная определенность: если $[x]_{mn}=[x']_{mn}$, то $mn\divides
x-x'$, поэтому $m\divides x-x'$ и $n\divides x-x'$. Значит,
$[x]_m=[x']_m$ и $[x]_n=[x']_n$.
По китайской теореме об остатках (\ref{thm_crt}) для каждой пары
$(a,b)\in\mb Z/m\mb Z\times\mb Z/n\mb Z$ найдется $x$ такой, что
$f(\ol{x})=(a,b)$ и такой $x$ единственный по модулю $mn$, то есть,
задает однозначно определенный элемент $[x]_{mn}\in\mb Z/mn\mb Z$. Это
и означает биективность $f$.
\end{proof}

Покажем теперь, что при построенном в теореме~\ref{thm_crt2}
отображении обратимые классы переходят в пары обратимых классов.

\begin{proposition}\label{prop_invertible_crt}
Пусть $m,n,f$ таковы, как в формулировке теоремы~\ref{thm_crt2}, и
пусть
$\ol{x}\in\mb Z/mn\mb Z$, $f(\ol{x})=(a,b)$. Класс $\ol{x}$ обратим в
$\mb Z/mn\mb Z$ тогда и только тогда, когда $a$ обратим в $\mb Z/m\mb
Z$ и $b$ обратим в $\mb Z/n\mb Z$.
\end{proposition}
\begin{proof}
Если $\ol{x'}$~--- обратный элемент к $\ol{x}$ в $\mb Z/mn\mb Z$ и
$f(x')=(a',b')$, то $a'$ обратен к $a$, а $b'$ обратен к
$b$. Действительно, $a=[x]_m$, $a'=[x']_m$, поэтому $a\cdot
a'=[x]_m\cdot [x']_m=[x\cdot x']_m$, но $xx'\equiv 1\pmod{mn}$,
поэтому $xx'\equiv 1\pmod m$. Аналогично, $b'$ является обратным к
$b$. 

Обратно, пусть $a'$~--- обратный к $a$, $b'$~--- обратный к
$b$. Отображение $f$ биективно, поэтому найдется $x'$ такой, что
$f(\ol{x'})=(a',b')$, то есть, $[x']_m=a'$, $[x']_n=b'$. При этом
$[xx']_m=[x]_m\cdot [x']_m=a\cdot a'=[1]_m$ и $[xx']_n=[1]_n$. Значит,
$xx'\equiv 1\pmod m$ и $xx'\equiv 1\pmod n$, откуда по свойству
\ref{coprime_prop1} взаимно простых чисел
(\ref{prop_properties_of_coprime})
$xx'\equiv 1\pmod{mn}$ и $x$ обратим.
\end{proof}

\begin{theorem}[Мультипликативность функции Эйлера]\label{thm_euler_multiplicative}
Если $m,n\geq 1$~--- натуральные числа и $m\perp n$, то $\ph(mn)=\ph(m)\ph(n)$.
\end{theorem}
\begin{proof}
По предложению~\ref{prop_phi_alt_def}, $\ph(mn)=|(\mb Z/mn\mb Z)^*|$ и
$\ph(m)\ph(n)=|(\mb Z/m\mb Z)^*|\cdot|(\mb Z/n\mb Z)^*|=|(\mb Z/m\mb
Z)^*\times (\mb Z/n\mb Z)^*|$
Предложение~\ref{prop_invertible_crt} утверждает, что $f$
устанавливает биекцию между множествами $(\mb Z/mn\mb Z)^*$ и $(\mb
Z/n\mb Z)^*\times (\mb Z/n\mb Z)^*$, поэтому в них поровну элементов.
\end{proof}

\begin{corollary}
Если $n=p_1^{k_1}\cdot p_2^{k_2}\dots\cdot p_s^{k_s}$~--- каноническое
разложение натурального числа $n$, то $\ph(n)=p_1^{k_1-1}(p_1-1)\cdot
p_2^{k_2-1}(p_2-1)\cdot\dots\cdot p_s^{k_s-1}(p_s-1)$.
\end{corollary}
\begin{proof}
Заметим, что все сомножители вида $p_i^{k_i}$ в каноническом
разложении числа $n$ попарно взаимно просты (например, это следует из
предложения~\ref{prop_gcd_canonical}). Применяя
теорему~\ref{thm_euler_multiplicative} и замечание~\ref{rem_phi_p},
получаем $\ph(n)=\ph(p_1^{k_1}\cdot p_2^{k_2}\dots\cdot
p_s^{k_s})=\ph(p_1^{k_1})\cdot
\ph(p_2^{k_2})\cdot\dots\cdot\ph(p_s^{k_s})=p_1^{k_1-1}(p_1-1)\cdot
p_2^{k_2-1}(p_2-1)\cdot\dots\cdot p_s^{k_s-1}(p_s-1)$, что и требовалось.
\end{proof}

\subsection{Теорема Эйлера и малая теорема Ферма}

\literature{[F], гл. I, \S~2, п. 3; [V], гл. III, \S~6; [B], гл. 11, \S~1.}

\begin{theorem}[Теорема Эйлера]\label{thm:euler}
Пусть $n$~--- натуральное число, $a\in\mb Z$ и $a\perp n$. Тогда
$a^{\ph(n)}\equiv 1\pmod n$.
\end{theorem}
\begin{proof}
Пусть $x_1,x_2,\dots,x_k$~--- все обратимые элементы кольца $\mb
Z/n\mb Z$. По предложению~\ref{prop_phi_alt_def} их ровно $\ph(n)$, то
есть, $k=\ph(n)$. Пусть $\ol{a}$~--- класс числа $a$ в кольце $\mb
Z/n\mb Z$. По предложению~\ref{prop_invertibility_criteria} элемент
$\ol{a}$ обратим. Рассмотрим элементы
$\ol{a}x_1,\ol{a}x_2,\dots,\ol{a}x_k$. По
лемме~\ref{lemma:product_of_invertibles} каждый из них обратим. С
другой стороны, если $\ol{a}x_i=\ol{a}x_j$, то
$\ol{a}(x_i-x_j)=\ol{0}$. Домножая это равенство на $\ol{a}^{-1}$,
получаем, что $x_i=x_j$. Это означает, что все элементы
$\ol{a}x_1,\ol{a}x_2,\dots,\ol{a}x_k$ различны; иными словами, это
элементы $x_1,x_2,\dots,x_k$, только, возможно, в другом порядке. Но
тогда произведения этих двух наборов элементов совпадают. Значит,
$$
x_1x_2\cdots
x_k=\ol{a}x_1\cdot\ol{a}x_2\cdot\cdots\cdot\ol{a}x_k=\ol{a}^kx_1x_2\cdots x_k.
$$
По
лемме~\ref{lemma:product_of_invertibles} произведение $x_1x_2\cdots
x_k$ обратимо, поэтому на него можно сократить обе части (более
строго~--- домножить на обратное к нему). Получаем, что
$\ol{a}^k=\ol{1}$; это и означает, что $a^k\equiv 1\pmod{n}$.
\end{proof}

\begin{corollary}[Малая теорема Ферма]\label{cor_fermat}
Если $p$~--- простое число, и $a\in\mb Z$ не делится на $p$,
то $a^{p-1}\equiv 1\pmod{p}$.
\end{corollary}
\begin{proof}
По свойству~\ref{primes_prop1} простых чисел (\ref{primes_properties})
$a\perp p$; по замечанию~\ref{rem_phi_p} $\ph(p)=p-1$. Осталось
применить теорему Эйлера для $n=p$.
\end{proof}

Приведем несложное следствие малой теоремы Ферма.

\begin{corollary}\label{cor_fermat2}
Если $p$~--- простое число, и $a\in\mb Z$, то
$a^p\equiv a\pmod{p}$.
\end{corollary}
\begin{proof}
Если $p\divides a$, то $a^p\equiv 0\pmod{p}$ и $a\equiv
0\pmod{p}$. В противном случае можно применить малую теорему
Ферма~\ref{cor_fermat}: получим, что $a^{p-1}\equiv 1\pmod{p}$;
домножая обе части на $a$, получаем нужное сравнение.
\end{proof}

\subsection{Алгоритм шифрования RSA}

Алгоритм шифрования RSA (Rivest, Shamir, Adleman) является одной из
простейших криптографических систем с открытым ключом. Он позволяет
обмениваться сообщениями по открытым каналам связи без риска быть
подслушанным. Пусть Алиса и Боб~--- два персонажа, и Алиса хочет
получить от Боба сообщение, которое сможет прочесть только она. При
этом между Алисой и Бобом имеются только общедоступные каналы
связи. Алгоритм шифрования RSA говорит, что Алиса должна
\begin{itemize}
\item выбрать два случайных различных простых числа (достаточно
  больших) $p$ и $q$;
\item перемножить их и получить число $n=pq$;
\item найти $\ph(n)=\ph(pq)=(p-1)(q-1)$;
\item выбрать некоторое натуральное число $e$, взаимно простое с
  $\ph(n)$;
\item найти число $d$, являющееся решением сравнения $ed\equiv
  1\pmod{\ph(n)}$~--- существование такого числа гарантируется
  свойством~(\ref{congruences_prop7}) сравнений
  (\ref{prop_congruences}). Запишем $ed=1+k\ph(n) = 1 + k(p-1)(q-1)$.
\end{itemize}
После этого Алиса передает Бобу по открытому каналу связи числа $n$ и $e$.
Мы предполагаем, что {\it сообщение}, которое Боб хочет передать
Алисе, является натуральным числом $m$ таким, что $m<n$. На практике
это означает, что Боб должен разрезать длинное сообщение (строку бит)
на куски длиной меньше, чем количество цифр в двоичной записи числа
$n$ и передавать каждый кусок по отдельности.
Для зашифровки Боб вычисляет остаток от деления $m^e$ на $n$; то есть,
целое число $c<n$ такое, что $c\equiv m^e\pmod{n}$.
Алиса получает зашифрованное сообщение $c$ от Боба по открытому каналу
связи и вычисляет $c^d\equiv (m^e)^d\equiv m^{ed}\pmod{n}$.

Покажем, что $m^{ed}\equiv m\pmod{n}$. Мы хотим показать, что
$n\divides m^{ed}-m$. При этом $n$ является произведением двух простых
чисел: $n=pq$. По свойству~(\ref{coprime_prop4}) взаимно простых чисел
(предложение~\ref{prop_properties_of_coprime}) для этого достаточно
доказать, что $p\divides m^{ed}-m$ и $q\divides m^{ed}-m$.
Если $p\divides m$, то $p\divides m^{ed}$, и потому $p\divides
m^{ed}$. Если же $p\perp m$, то
можно применить малую теорему Ферма~\ref{cor_fermat}:
$$
m^{ed}\equiv m^{1+k(p-1)(q-1)} \equiv m\cdot (m^{p-1})^{k(q-1)}
\equiv m\cdot 1^{k(q-1)} \equiv m \pmod{p}
$$
Аналогично доказывается, что $q\divides m^{ed}-m$.

{\small Отметим, что сравнение $m^{ed}\equiv m\pmod{n}$ сразу следует
  из теоремы Эйлера, если $m\perp n$. На практике вероятность того,
  что $m$ имеет общий делитель с $n$, чрезвычайно мала. Однако
  нужное сравнение выполнено и в общем случае.}

Таким образом, Алиса восстановила исходное сообщение $m$. При этом все
вычисления происходят по модулю $n$ 
(то есть, само по себе число $m^e$ огромное, но нас интересует только
его остаток по модулю $n$, что значительно упрощает вычисления).

Заметим, что постороннему наблюдателю доступны лишь числа $n$, $e$ и
зашифрованное сообщение $c$. Для расшифровки необходимо знать обратный
к $e$ по модулю $\ph(n)$ элемент $d$, для чего необходимо знать
$\ph(n)$. Но для вычисления $\ph(n)$ необходимо знать разложение $n$
на простые множители. В настоящее время неизвестны эффективные
алгоритмы разложения больших чисел на простые множители (в отличие от
эффективных тестов на простоту, с помощью которых Алиса и готовит
числа $p$ и $q$). 
