Advanced handouts
Add missing file Co-authored-by: Mark <mark@betalupi.com> Co-committed-by: Mark <mark@betalupi.com>
This commit is contained in:
187
src/Advanced/Cryptography/parts/challenge.tex
Executable file
187
src/Advanced/Cryptography/parts/challenge.tex
Executable file
@ -0,0 +1,187 @@
|
||||
\section{Bonus Problems}
|
||||
|
||||
|
||||
\problem{}
|
||||
Show that a group has exactly one identity element.
|
||||
\vfill
|
||||
|
||||
\problem{}
|
||||
Show that each element in a group has exactly one inverse.
|
||||
\vfill
|
||||
|
||||
\problem{}
|
||||
Let $(G, \ast)$ be a group and $a, b, c \in G$. Show that...
|
||||
\begin{itemize}
|
||||
\item $a \ast b = a \ast c \implies b = c$
|
||||
\item $b \ast a = c \ast a \implies b = c$
|
||||
\end{itemize}
|
||||
|
||||
This means that we can \say{cancel} operations in groups, much like we do in algebra.
|
||||
|
||||
\vfill
|
||||
\pagebreak
|
||||
|
||||
|
||||
|
||||
|
||||
\problem{}
|
||||
Let $G$ be the set of all bijections $A \to A$. \par
|
||||
Let $\circ$ be the usual composition operator. \par
|
||||
Is $(G, \circ)$ a group?
|
||||
\vfill
|
||||
|
||||
\definition{}
|
||||
Note that our definition of a group does \textbf{not} state that $a \ast b = b \ast a$. \par
|
||||
Many interesting groups do not have this property.
|
||||
Those that do are called \textit{abelian} groups. \par
|
||||
|
||||
\vspace{2mm}
|
||||
|
||||
One example of a non-abelian group is the set of invertible 2x2 matrices under matrix multiplication.
|
||||
|
||||
\problem{}
|
||||
Show that if $G$ has four elements, $(G, \ast)$ is abelian.
|
||||
|
||||
\vfill
|
||||
\pagebreak
|
||||
|
||||
\problem{}
|
||||
Prove \ref{mod_has_inverse}: \par
|
||||
$a$ has an inverse mod $m$ iff $\gcd(a, m) = 1$ \par
|
||||
|
||||
|
||||
\begin{solution}
|
||||
Assume $a^\star$ is the inverse of $a \pmod{m}$. \par
|
||||
Then $a^\star \times a \equiv 1 \pmod{m}$ \par
|
||||
|
||||
Therefore, $aa^\star - 1 = km$, and $aa^\star - km = 1$ \par
|
||||
We know that $\gcd(a, m)$ divides $a$ and $m$, therefore $\gcd(a, m)$ must divide $1$. \par
|
||||
$\gcd(a, m) = 1$ \par
|
||||
|
||||
Now, assume $\gcd(a, m) = 1$. \par
|
||||
By the Extended Euclidean Algorithm, we can find $(u, v)$ that satisfy $au+mv=1$ \par
|
||||
So, $au-1 = mv$. \par
|
||||
$m$ divides $au-1$, so $au \equiv 1 \pmod{m}$ \par
|
||||
$u$ is $a^\star$.
|
||||
\end{solution}
|
||||
|
||||
|
||||
\vfill
|
||||
|
||||
|
||||
\problem{}<eua_runtime>
|
||||
The Euclidean Algorithm (From \ref{euclid}) can be written as follows: \par
|
||||
|
||||
\begin{itemize}
|
||||
\item Assume $a > b$.
|
||||
\item Set $e_0 = a$ and $e_1 = b$. \par
|
||||
\item Let $e_{n+1} = \text{remainder}(r_{n-1} \div r_{n})$ \par
|
||||
\item Stop when $e_{k} = 0$.
|
||||
\item Then, $\gcd(a, b) = e_{k-1}$. \par
|
||||
\end{itemize}
|
||||
|
||||
|
||||
Let $F_n$ be the $n^{\text{th}}$ Fibonacci number. ($F_0 = 0$; $F_1 = 1$; $F_2 = 1$; $\dots$) \par
|
||||
|
||||
\vspace{2mm}
|
||||
|
||||
Show that if the Euclidean algorithm requires $n$ steps for an input $(a, b)$, then $a \geq F_{n+2}$ and $b \geq F_{n+1}$.
|
||||
In other words, show that the longest-running input of a given size is a Fibonacci pair.
|
||||
|
||||
\begin{solution}
|
||||
The easiest way to go about this is induction on $n$: \par
|
||||
|
||||
\textcolor{gray}{\textit{Base Case:}}
|
||||
|
||||
If $n = 1$, $b$ divides $a$ with no remainder, and the smallest possible $a, b$ for which this is true is $(2, 1) = (F_3, F_2)$.
|
||||
|
||||
\linehack{}
|
||||
|
||||
\textcolor{gray}{\textit{Induction:}}
|
||||
|
||||
Assume that for $n$ steps, $a \geq F_{n+2}$ and $b \geq F_{n+1}$.
|
||||
|
||||
Now, say the algorithm takes $n+1 = m$ steps. \par
|
||||
|
||||
The first step gives us $a = q_0b + r_0$ \par
|
||||
Therefore, the pair $(b, r_0)$ must take $m-1$ steps. \par
|
||||
We thus know that $b \geq F_{m+1}$ and $r_0 \geq F_m$ \hfill \textcolor{gray}{by our induction hypothesis} \par
|
||||
Therefore, $a = q_0b + r_0 \geq b + r_0$ \par
|
||||
But $b + r_0 = F_{m+1} + F_{m} = F_{m+2}$, \par
|
||||
so $a \geq F_{m+2}$.
|
||||
\end{solution}
|
||||
|
||||
\vfill
|
||||
\pagebreak
|
||||
|
||||
\problem{Chinese Remainder Theorem}
|
||||
There are certain things whose number is unknown. If we count them by threes, we have two left over; by fives, we have three left over; and by sevens, two are left over. How many things are there?
|
||||
|
||||
\begin{solution}
|
||||
$x \equiv 2 \pmod{3}$ \par
|
||||
$x \equiv 3 \pmod{5}$ \par
|
||||
$x \equiv 2 \pmod{7}$ \par
|
||||
|
||||
$x = 23 + 105k\ \forall k \in \mathbb{Z}$
|
||||
\end{solution}
|
||||
|
||||
\vfill
|
||||
|
||||
\problem{}<flt_prereq>
|
||||
Show that if $p$ is prime, $\binom{p}{i} \equiv 0 \pmod{p}$
|
||||
for $0 < i < p$.
|
||||
|
||||
\begin{solution}
|
||||
$\binom{p}{i} = \frac{p!}{i!(p-i)!}$ tells us that $i!(p-i)!$ divides $p! = p(p-1)!$. \\
|
||||
However, $i!(p-i)!$ and $p$ are coprime, since all factors of $i!(p-i)!$ are smaller than $p$. \\
|
||||
Therefore, $i!(p-i)!$ must divide $(p-1)!$ \par
|
||||
|
||||
So, $\binom{p}{i} = p \times \frac{(p-1)!}{i!(p-i)!}$, and $\binom{p}{i} \equiv 0 \pmod{p}$.
|
||||
\end{solution}
|
||||
|
||||
\vfill
|
||||
\pagebreak
|
||||
|
||||
\problem{Fermat's Little Theorem}
|
||||
Show that if $p$ is prime and $a \not\equiv 0 \pmod{p}$, then $a^{p-1} \equiv 1 \pmod{p}$. \\
|
||||
You may want to use \ref{flt_prereq}. \par
|
||||
\hint{It may be easier to show that $a^p \equiv a \pmod{p}$}
|
||||
|
||||
|
||||
\begin{solution}
|
||||
Use induction:
|
||||
|
||||
$1 \equiv 1 \pmod{p}$ \par
|
||||
|
||||
Using \ref{flt_prereq} and the binomial theorem, we have
|
||||
|
||||
$2^p = (1 + 1)^p = 1 + \binom{p}{1} + \binom{p}{2} + \dots + \binom{p}{p-1} + 1 \equiv 1 + 0 + ... + 0 + 1 \equiv 2 \pmod{p}$ \par
|
||||
|
||||
Then,
|
||||
|
||||
$3^p = (1 + 2)^p = 1 + \binom{p}{1}2 + \binom{p}{2}2^2 + \dots + \binom{p}{p-1}2^{p-1} + 2^p \equiv 1 + 0 + ... + 0 + 2 \equiv 3 \pmod{p}$ \par
|
||||
|
||||
We can repeat this for all $a$. This proof can be presented more formally with a bit of induction.
|
||||
|
||||
\end{solution}
|
||||
|
||||
\vfill
|
||||
|
||||
|
||||
\problem{}
|
||||
Show that for any three integers $a, b, c$, \par
|
||||
$\gcd(ac + b, a) = \gcd(a, b)$ \par
|
||||
|
||||
%\begin{solution}
|
||||
% This problem is hard, \\
|
||||
% I'll write a solution eventually.
|
||||
%\end{solution}
|
||||
|
||||
\vfill
|
||||
|
||||
[Note on \ref{eua_runtime}] This proof can be used to show that the Euclidean
|
||||
algorithm finishes in logarithmic time, and it is the first practical application
|
||||
of the Fibonacci numbers. If you have finished all challenge problems,
|
||||
finish the proof: find how many steps the Euclidean algorithm needs to arrive at
|
||||
a solution for a given $a$ and $b$.
|
||||
\pagebreak
|
Reference in New Issue
Block a user