I'm researching NTRU cryptosystem and started research based on source code from sourceforge and bouncy castle(java language).

Currently I'm reseacrhing attacks on NTRU, based on CVP and SVP. But I'd be very grateful if anyone could give me a link to source code of attacks on NTRU, at least on short length, if any exists.

ps. Please don't blame me for not willing to write it all by myself, cause it's rather time-consuming work and there is no reason to duplicate code, if it already exists. would be grateful for any links or pieces of advice.

pps. I've met some misunderstanding on stackoverflow, so I've come here hoping to get any help and understanding

1 Answer 1


Phong Q. Nguyen, one of the main researchers on attacks on NTRU, uses Victor Shoup's NTL library, which contains an implementation of the LLL algorithm. That's C++, not Java; but this is the kind of number crunching job where the extra efficiency of low-level languages like C++ is handy. 95% of a given application code is not time-critical, and 95% of the remaining 5% is I/O bound (network I/O, disk I/O, RAM bus I/O maybe). Most hardcore crypto jobs (in particular attacks which need a lot of muscle) live in the 0.025% of code where everything happens in CPU L1 cache, and at that place properly optimized C or C++ code is typically 2 to 4 times faster than properly optimized Java code.

Anyway, to understand attacks on NTRU you will need to grasp some rather intricate mathematics, at which point something as trivial as a change of programming language should not bother you.

A good starting point for attacking a cryptosystem is to actually implement it yourself -- having your own implementation is handy if you want to print intermediate values or similar things, but the main reason is pedagogical: the process of implementing the algorithm is what makes you understand how it works, down to its fine details. Reusing existing code will deprive you of all this learning.

(Yes, I wrote that C++ is "low-level". Sue me.)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .