7

4

I can find no resources for doing elliptic curve cryptography. I have used the finite field package, but I find it cumbersome and it does not seem to have any builtin methods for ECC. How can I get started doing ECC in *Mathematica*?

7

4

I can find no resources for doing elliptic curve cryptography. I have used the finite field package, but I find it cumbersome and it does not seem to have any builtin methods for ECC. How can I get started doing ECC in *Mathematica*?

7

A few updates, since Wolfram has added a lot of cryptography functionality in recent versions.

Here is a link to the guide page for Cryptography functions in the Wolfram Language:

https://reference.wolfram.com/language/guide/Cryptography.html

Here is a link to the lower level number theory functions related to cryptography:

https://reference.wolfram.com/language/guide/CryptographicNumberTheory.html

In response to the comment regarding Python, here is a new guide page related to calling Python (and other languages) directly from the Wolfram Language:

https://reference.wolfram.com/language/guide/ExternalLanguageInterfaces.html

Shows how Mathematica has evolved... – nilo de roock – 2020-09-01T07:22:22.577

Might take a look at http://library.wolfram.com/infocenter/Conferences/6911/

– ciao – 2014-03-11T03:59:05.120I saw that, but it did not seem very practical. It's not really algorithms in Mathematica, its just a lecture on ECC written using Mathematica as a typesetter. – Tyler Durden – 2014-03-11T04:17:53.960

As you want something practical, consider not writing it yourself, and instead using JLink to use EC algorithms from Java 7's JCA/JCE API: http://docs.oracle.com/javase/7/docs/technotes/guides/security/SunProviders.html#SunEC

– Andreas Lauschke – 2014-03-11T05:46:08.680@AndreasLauschke Yes, using a regular programming language, especially Python, is possible. Python has comprehensive crypto, plus there is a computational math system in Python called Sage that fully supports finite fields. I was just hoping that it would be already in Mathematica somehow. Of course, I could write all the modular arithematic needed from scratch, too, I suppose. – Tyler Durden – 2014-03-11T12:36:39.123

@Tyler: yes, I know Python is popular for crypto work. But you can't easily integrate it with M (at least to my knowledge), whereas with JLink it's right at your fingertips to leverage over from M to the JVM, and you mentioned "practical" in a comment. – Andreas Lauschke – 2014-03-11T17:21:07.247