Notes, code and documents done while reading books and papers.
## mathematics
- [Notes on "Abstract Algebra" book, by Charles C. Pinter](abstract-algebra-charles-pinter-notes.pdf)
- [Notes on Caulk & Caulk+ papers](notes_caulk.pdf)
- [Notes on Weil pairing](weil-pairing.pdf)
- [Notes on Galois Theory](galois-theory-notes.pdf)
In-between math & crypto:
- [Notes on the DFT & FFT](fft-notes.pdf)
- [Notes on NTT](notes_ntt.pdf)
- [Notes on Reed-Solomon codes](notes_reed-solomon.pdf)
## cryptography
- [Notes on Caulk & Caulk+ papers](notes_caulk.pdf)
- [Notes on the BLS signatures](notes_bls-sig.pdf)
- [Notes on IPA from Halo paper](notes_halo.pdf)
- [Notes on Sonic paper](notes_sonic.pdf)
- [Notes on Weil pairing](weil-pairing.pdf)
- [Notes on Sigma protocol and OR proofs](sigma-or-notes.pdf)
- [Notes on Reed-Solomon codes](notes_reed-solomon.pdf)
- [Notes on FRI and STIR](notes_fri_stir.pdf)
- [Notes on Spartan](notes_spartan.pdf)
- [Notes on Nova](notes_nova.pdf)
- [Notes on HyperNova](notes_hypernova.pdf)
- [Notes on NTT](notes_ntt.pdf)
## code
Also some Sage implementations can be found in the `*.sage` files of this repo.
Also some of the algorithms and schemes can be found implemented (mostly in Rust language) in various repositories of the github https://github.com/arnaucube .
We know that $p | a_i$ for $i=1, \ldots, p-2$, therefore $f(x+1)$ is irreducibe by Einsenstein's Criterion.
This implies that $f(x)$ is irreducible.
\end{proof}
\subsection{Dihedral groups - Groups of symmetries}\label{dihedral}
Source: Wikipedia and \cite{dihedral}.
Dihedral groups ($\mathbb{D}_n$) represent the symmetries of a regular $n$-gon.
Properties:
\begin{itemize}
\item are non-abelian (for $n>2$), ie. $rs \neq sr$
\item order $2n$
\item generated by a rotation $r$ and a reflextion $s$
\item$r^n = s^2= id,~~~(rs)^2=id$
\end{itemize}
Subgroups of $\mathbb{D}_n$:
\begin{itemize}
\item rotation form a cyclic subgroup of order $n$, denoted as $<r>$
\item for each $d$ such that $d|n$, $\exists~ \mathbb{D}_d$ with order $2d$
\item normal subgroups
\begin{itemize}
\item for $n$ odd: $\mathbb{D}_n$ and $<r^d>$ for every $d|n$
\item for $n$ even: $2$ additional normal subgroups
\end{itemize}
\item Klein four-groups: $\mathbb{Z}_2\times\mathbb{Z}_2$, of order 4
\end{itemize}
\vspace{0.3cm}
Total number of subgroups in $\mathbb{D}_n$: $d(n)+ s(n)$, where $d(n)$ is the number of positive disivors of $n$, and $s(n)$ is the sum of those divisors.
\begin{eg}{}
For $\mathbb{D}_6$, we have $\{1,2,3,6\} | 6$, so $d(n)= d(6)=4$, and
$s(6)=1+2+3+6=12$; henceforth, the total amount of subgroups is $d(n)+s(n)=4+12=16$.
\end{eg}
\vspace{0.3cm}
For $n \geq3, ~~\mathbb{D}_n \subseteq\mathbb{S}_n$ (subgroup of the Symmetry group).
\newpage
\section{Exercises}
\subsection{Galois groups}
\subsubsection[t6-7]{$t^6-7\in\mathbb{Q}$}
This exercise comes from a combination of exercises 12.4 and 13.7 from \cite{ianstewart}.
First let's find the roots. By De Moivre's Theorem (\ref{demoivre}), $t_k =
\sqrt[6]{7}\cdot e^{i \frac{2 \pi k}{6}}$.
From which we denote $\alpha=\sqrt[6]{7}$, and $\zeta= e^{\frac{2\pi i}{6}}$, so that the
roots of the polynomial are $\{\alpha, \alpha\zeta, \alpha\zeta^2, \alpha\zeta^3, \alpha\zeta^4, \alpha\zeta^5\}$, ie.
$\{\alpha\zeta^k \}_0^5$.
Hence the \emph{splitting field} is $\mathbb{Q}(\alpha, \zeta)$.
\emph{Degree of the extension}
In order to find $[\mathbb{Q}(\alpha, \zeta) : \mathbb{Q}$, we're going to split it in tow
Notes taken from \href{https://sites.google.com/view/matanprasmashomepage/publications}{Matan Prasma} math seminars and also while reading about Bilinear Pairings. Usually while reading papers and books I take handwritten notes, this document contains some of them re-written to $LaTeX$.
The notes are not complete, don't include all the steps neither all the proofs. I use these notes to revisit the concepts after some time of reading the topic.
Usually while learning I take handwritten notes, this document contains some of them re-written to $LaTeX$.
The notes are not complete, don't include all the steps neither all the proofs. I use these notes to revisit the concepts after some time of reading the topic.