Scott Fluhrer edited section_Abstract_This_paper_explores__.tex  almost 9 years ago

Commit id: 6d5324b35fe17a37d163c2541e22c79e71dc37be

deletions | additions      

       

\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.