Files
papers/lux-fhe-api/sections/02-parameter-selection.tex
zeekay abf99d05fc papers: reorganize into per-paper dirs, add Antje Worring as co-author
Restructured from flat .tex/.pdf files into per-paper subdirectories.
Added Antje Worring as co-author on all papers.
Synced PDFs to pdfs/ for download site.
2026-04-18 21:50:07 -07:00

39 lines
1.4 KiB
TeX

\section{Parameter Selection}
\subsection{Standard Parameter Sets}
Developers choose from three pre-validated parameter sets:
\begin{table}[h]
\centering
\begin{tabular}{@{}llll@{}}
\toprule
\textbf{Name} & \textbf{Security} & \textbf{LWE Dim} & \textbf{Use Case} \\
\midrule
\texttt{PN10QP27} & 128-bit classical & $N=1024$ & Default, good performance \\
\texttt{PN11QP54} & 128-bit classical & $N=2048$ & Higher precision \\
\texttt{PN9QP28\_STD128} & 128-bit classical & $N=512/1024$ & OpenFHE compatible \\
\bottomrule
\end{tabular}
\caption{Standard parameter sets. All use NTT-friendly primes $Q \equiv 1 \pmod{2N}$.}
\label{tab:params}
\end{table}
Custom parameter construction is deliberately not exposed in the public API. Choosing incorrect parameters can silently degrade security. Developers who need non-standard parameters must use the internal \texttt{ParametersLiteral} type and accept responsibility for security analysis.
\subsection{Parameter Encoding}
Parameters define the LWE dimension, blind rotation dimension, modulus, and base-two decomposition level. The encoding uses the \texttt{luxfi/lattice/v7} RLWE parameter structure:
\begin{lstlisting}[language=Go]
params, err := fhe.NewParameters(fhe.PN10QP27)
if err != nil {
return fmt.Errorf("create params: %w", err)
}
// params.NLWE() = 1024
// params.NBR() = 1024
// params.QLWE() = 0x7fff801
\end{lstlisting}