Sign up ×
Cryptography Stack Exchange is a question and answer site for software developers, mathematicians and others interested in cryptography. It's 100% free, no registration required.

I have to implement a series of Oblivious Transfer and Oblivious Transfer Extension protocols for my MSc thesis. My goal is to implement the various protocols and compare them in terms of speed and security and possibly do some testing by changing the symmetric algorithms being used. My instructor gave me a free pass on the tools I'm going to use (programming language, libraries etc) to achieve this.

Right now I feel comfortable with the following languages, Java and Python. I immediately chose Python as I find it easier to read and write and the PyCrypto library.

Though, in retrospect I thought that I haven't done the mandatory research to find out which tools are the best in terms of security and implementation.

  1. Is it a right choice to choose a scripting language like Python for implementing Oblivious Transfer protocols?
  2. Is PyCrypto secure and easy to use? Some say it is not.
  3. Should I use Java for this kind of project?
share|improve this question

put on hold as primarily opinion-based by e-sushi 14 hours ago

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

If you are doing it for learning/research any language will do. Java is certainly not better than Python IMO, except performance wise. –  otus 14 hours ago
It's for research but I want it to be scientifically accurate. –  Oblivious 14 hours ago
For accurate speed evaluation you really need to use C if you are going to implement any low level stuff. If you are only doing the protocol part and using libraries for all primitives, it may not really matter. –  otus 14 hours ago
@otus I'm doing only the protocol part, I'm not getting involved with the low level stuff (thankfully!) –  Oblivious 14 hours ago

Browse other questions tagged or ask your own question.