1
$\begingroup$

There is source code of this algorithm (https://github.com/NTRUOpenSourceProject/NTRUMLS). But this algorithm does not provide a function for generating a public key from a private key. Studying the function pq_gen_key in src/pqntrusign.c, I did not see how it can be done.

$\endgroup$
1
$\begingroup$

I believe that the implementation's API doesn't allow you to derive the public key from the private key. Instead, the model is that both are generated at the same time by the pq_gen_key function; you are expected to keep around the public key that returns.

Now, with NTRU, one could compute the public key from the private key. In fact, that is pretty much how pq_gen_key works; it creates the ring elements $f$ and $g$ (which together essentially make up the private key), and then compute the public key from that. It's just that they haven't bothered exporting that specific functionality.

$\endgroup$
  • $\begingroup$ I have finally figured out how to do this. I can derive SK from f and g and after that calculate my PK. $\endgroup$ – Vlad Markushin Mar 22 '18 at 0:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.