this is for holding javascript data
Scott Fluhrer edited section_Abstract_This_paper_explores__.tex
almost 9 years ago
Commit id: 6d5324b35fe17a37d163c2541e22c79e71dc37be
deletions | additions
diff --git a/section_Abstract_This_paper_explores__.tex b/section_Abstract_This_paper_explores__.tex
index 3354a37..58ac292 100644
--- a/section_Abstract_This_paper_explores__.tex
+++ b/section_Abstract_This_paper_explores__.tex
...
\item It encodes the value $b$, the message $m$ and a portion of the public key into a string, and hash that string to form a value $\rho$. It uses SHA-1 as the hash function if $k \le 160$ and SHA-256 if $k > 160$
\item It uses $\rho$ to seed a random number generator, and uses the output of that random number generator to select a polynomial R
\item It encodes the message $m$ and the random value $b$ as a polynomial $M$ which consists solely of coefficients in the set $\{0, 1, -1\}$; we run a check on the value M to make sure that it has sufficient coefficient diversity (that is, this check makes sure that each of the possible values occurs sufficiently many times); if not, we go back and select a different value for $b$.
\item It extracts the polynomial $H$ from the public key, and generate the ciphertext $HR + M$
(where the computation is done in the ring, calculating everything modulo $q$).
\end{itemize}
All but the last step is actually the NAEP padding procedure, used for generate the polynomials $R$ and $M$ for the actual NTRU operation.