Score:0

Which contemporary programming language is apt for implementation of algorithms in cryptography?

in flag

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?

SAI Peregrinus avatar
si flag
C is traditional. Rust is gaining popularity due to better safety properties, eg BLAKE3 has a reference implementation in Rust.
Maarten Bodewes avatar
in flag
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.
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.