I am a researcher in cryptography. Most of the time I generally do theoretical/Mathematical work only and not doing the implementation part.

I am not able to get the feel about the time complexity of algorithms theoretically. We can get the time complexity of algorithms by doing proper implementation. I want to implement algorithms/schemes to find out the time complexity and other aspects of algorithms practically in terms of plots.

Could you please suggest me which programming language is apt for implementation of cryptography algorithms? If it seems like a subjective question, my intention is to know the answer for the question: Which programming language generally used by majority of researchers of cryptography?

  • 4
    $\begingroup$ C is traditional. Rust is gaining popularity due to better safety properties, eg BLAKE3 has a reference implementation in Rust. $\endgroup$ Commented Jul 25, 2021 at 14:15
  • 1
    $\begingroup$ I don't think it matters specifically if it is just to get an idea of time complexity. If you want to get a feel about instructions per second or protection against timing attacks then a lower language such as C or Rust is helpful. Assuming asymmetric primitivites (as doing time complexity for symmetric ciphers / hashes is probably boring :) ), Rust at least seems to provide operator overloading for BigInt and is a more modern language by any standard. $\endgroup$
    – Maarten Bodewes
    Commented Jul 25, 2021 at 15:40


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.