Skip to main content\(
\def\ppa{-- ++(10pt,0pt) -- ++(0pt,10pt) ++(5pt,-10pt)}
\def\ppb{-- ++(10pt,0pt) -- ++(0pt,10pt) ++(-10pt,0pt) -- ++(0pt,-10pt) ++(15pt,0pt)}
\def\ppc{-- ++(10pt,0pt) ++(-10pt,0pt) -- ++(0pt,10pt) ++(15pt,-10pt)}
\def\ppd{-- ++(10pt,0pt) -- ++(0pt,10pt) -- ++(-10pt,0pt) ++(15pt,-10pt)}
\def\ppe{-- ++(10pt,0pt) -- ++(0pt,10pt) -- ++(-10pt,0pt) -- ++(0pt,-10pt) ++(15pt,0pt)}
\def\ppf{-- ++(10pt,0pt) ++(0pt,10pt) -- ++(-10pt,0pt) -- ++(0pt,-10pt) ++(15pt,0pt)}
\def\ppg{ ++(10pt,0pt) -- ++(0pt,10pt) -- ++(-10pt,0pt) ++(15pt,-10pt)}
\def\pph{ ++(10pt,0pt) -- ++(0pt,10pt) -- ++(-10pt,0pt) -- ++(0pt,-10pt) ++(15pt,0pt)}
\def\ppi{ ++(10pt,0pt) ++(0pt,10pt) -- ++(-10pt,0pt) -- ++(0pt,-10pt) ++(15pt,0pt)}
\def\ppj{-- ++(10pt,0pt) -- ++(0pt,10pt) ++(-5pt,-5pt) node {$\cdot$} ++(10pt,-5pt)}
\def\ppk{-- ++(10pt,0pt) -- ++(0pt,10pt) ++(-10pt,0pt) -- ++(0pt,-10pt) ++(5pt,5pt) node {$\cdot$} ++(10pt,-5pt)}
\def\ppl{-- ++(10pt,0pt) ++(-10pt,0pt) -- ++(0pt,10pt) ++(5pt,-5pt) node {$\cdot$} ++(10pt,-5pt)}
\def\ppm{-- ++(10pt,0pt) -- ++(0pt,10pt) -- ++(-10pt,0pt) ++(5pt,-5pt) node {$\cdot$} ++(10pt,-5pt)}
\def\ppn{-- ++(10pt,0pt) -- ++(0pt,10pt) -- ++(-10pt,0pt) -- ++(0pt,-10pt) ++(5pt,5pt) node {$\cdot$} ++(10pt,-5pt)}
\def\ppo{-- ++(10pt,0pt) ++(0pt,10pt) -- ++(-10pt,0pt) -- ++(0pt,-10pt) ++(5pt,5pt) node {$\cdot$} ++(10pt,-5pt)}
\def\ppp{ ++(10pt,0pt) -- ++(0pt,10pt) -- ++(-10pt,0pt) ++(5pt,-5pt) node {$\cdot$} ++(10pt,-5pt)}
\def\ppq{ ++(10pt,0pt) -- ++(0pt,10pt) -- ++(-10pt,0pt) -- ++(0pt,-10pt) ++(5pt,5pt) node {$\cdot$} ++(10pt,-5pt)}
\def\ppr{ ++(10pt,0pt) ++(0pt,10pt) -- ++(-10pt,0pt) -- ++(0pt,-10pt) ++(5pt,5pt) node {$\cdot$} ++(10pt,-5pt)}
\def\pps{ ++(0pt,10pt) -- ++(5pt,-10pt) -- ++(5pt,10pt) ++(5pt,-10pt)}
\def\ppt{ ++(0pt,10pt) -- ++(10pt,-5pt) -- ++(-10pt,-5pt) ++(15pt,0pt)}
\def\ppu{ ++(10pt,10pt) -- ++(-10pt,-5pt) -- ++(10pt,-5pt) ++(5pt,0pt)}
\def\ppv{-- ++(5pt,10pt) -- ++(5pt,-10pt) ++(5pt,0pt)}
\def\ppw{ ++(0pt,10pt) -- ++(5pt,-10pt) -- ++(5pt,10pt) ++(-5pt,-5pt) node {$\cdot$} ++(10pt,-5pt)}
\def\ppx{ ++(0pt,10pt) -- ++(10pt,-5pt) -- ++(-10pt,-5pt) ++(5pt,5pt) node {$\cdot$} ++(10pt,-5pt)}
\def\ppy{ ++(10pt,10pt) -- ++(-10pt,-5pt) -- ++(10pt,-5pt) ++(-5pt,5pt) node {$\cdot$} ++(10pt,-5pt)}
\def\ppz{-- ++(5pt,10pt) -- ++(5pt,-10pt) ++(-5pt,5pt) node {$\cdot$} ++(10pt,-5pt)}
\newcommand \sboxOne{
\mbox{
$
\begin{array}{|c|c|c|c|c|}\hline
\amp 00 \amp 01 \amp 10 \amp 11 \\ \hline
00 \amp 01 \amp 11 \amp 10 \amp 11 \\ \hline
01 \amp 11 \amp 10 \amp 01 \amp 00 \\ \hline
10 \amp 00 \amp 10 \amp 01 \amp 11 \\ \hline
11 \amp 11 \amp 01 \amp 11 \amp 10 \\ \hline
\end{array}
$
}
}
\newcommand \sboxTwo{
\mbox{
$
\begin{array}{|c|c|c|c|c|}\hline
\amp 00 \amp 01 \amp 10 \amp 11 \\ \hline
00 \amp 00 \amp 01 \amp 10 \amp 11 \\ \hline
01 \amp 10 \amp 00 \amp 01 \amp 11 \\ \hline
10 \amp 11 \amp 00 \amp 01 \amp 00 \\ \hline
11 \amp 10 \amp 01 \amp 10 \amp 11 \\ \hline
\end{array}
$
}
}
\newcommand{\lt}{<}
\newcommand{\gt}{>}
\newcommand{\amp}{&}
\)
Appendix B Sage Cell Cipher Utilities
Substitution Cipher Cell
Affine Cipher Cell
Alberti Cipher Formula
Vigenere Cipher Cell
Vigenere Autokey Cipher Cell
Falconer Cipher Cell
Jefferson's Wheel Cipher
ITA2/Vernam Cipher Cell
Hill Cipher Cell