# Cryptography in Maple and Mathematica

Is Maple or Mathematica preffered over the other for Cryptography/Number Theory? What are the advantages for each in terms of this area of mathematics?

Also could someone compare and contrast between Maple and Mathematica in terms of the following branches of mathematics (briefly):

• Discrete (Combinatorics, Graph Theory, ...)
• Analysis (Real, Complex, ...)
• Algebra (Linear, Abstract, ...)
• Applied (differetial equations, modeling, ...)
• Logic
-
You might want to edit the second paragraph. The imperative voice can be grating to some readers. The second request is also somewhat broad... – daniel Sep 1 '12 at 1:55
The question is very broad. Many people have strong preferences, sometimes based on which program they have experience with. If you don't pose a more specific problem, I suspect there isn't a good answer. – Ross Millikan Sep 1 '12 at 3:20

I have heard that Sage is probably the best program there is for two subjects, number theory and graph theory. See this question on a Sage specific forum, with exact quote from the answer by kcrisman:

"If you are doing graph theory or serious number theory, you shouldn't even be asking the question of which package to use."

In other words. If you are doing graph theory or serious number theory, there is no question that Sage is the best.

It is open source and has many other open source programs built in. It's free, which is much better than Maple or Mathematica. It also uses Python which is a main-stream language so as you work in you are developing a skill that is helpful in other places. You can easily program new functions if you like, and can even contribute them to future versions of Sage if you want.

Here is an algebraic number theory book and elementary number theory book written by the creator of Sage. Both books have Sage code in them. Here is a cryptography book with a Sage appendix.

-

In general, CASes are not designed to handle various type of logic (first order, higher order etc). There is a Logic package in Maple. This package handles sentential logic.

Please see http://en.wikipedia.org/wiki/Automated_theorem_proving for a list of existing software to handle logic.

Hope this helps.

-

Here are some of the relevant Mathematica documentation links...

And some of the equivalent marketing pages...

-

It depends, this is a loaded question.

There are unique packages for some of these areas.

As for Maple vs. Mathematica, it is a matter of preference.

I think you should peruse their respective newsgroups, search for reviews and check out some of the CASs

-

You should also look at some of the examples in crypto at:

http://demonstrations.wolfram.com/topic.html?topic=cryptography&limit=20

-