Embryonic library reference manual.
[u/mdw/catacomb] / manual / mp.tex
diff --git a/manual/mp.tex b/manual/mp.tex
new file mode 100644 (file)
index 0000000..ced4dca
--- /dev/null
@@ -0,0 +1,34 @@
+%%% -*-latex-*-
+
+\chapter{Multiprecision arithmetic}
+\label{chap:mp}
+
+Most public-key cryptographic systems, and some other cryptographic
+primitives, require arithmetic on large numbers.  Catacomb provides a
+reasonably efficient library of arithmetic functions, designed particularly
+for cryptographic applications.
+
+
+\section{Structure of the Catacomb multiprecision library}
+
+The multiprecision routines in Catacomb are divided into a number of
+logically separate units:
+
+\begin{itemize*}
+\item Very low-level unsigned arithmetic (\unit{mpx}).
+\item Memory management support and allocation hooks (\unit{mparena}).
+\item Standard operations on signed multiprecision integers (\unit{mp}).
+\item I/O support for multiprecision integers (\unit{mptext}, \unit{mpint}).
+\item Number-theoretic algorithms and functions (\unit{mpcrt}).
+\item Modular multiplication and exponentiation functions (\unit{mpmont}).
+\item Prime number searching and testing (\unit{pgen}, \unit{rabin}).
+\end{itemize*}
+
+\input{mp-mpx}
+\input{mp-mp}
+\input{mp-mod}
+
+%%% Local Variables: 
+%%% mode: latex
+%%% TeX-master: "catacomb"
+%%% End: