I'm curious about how desktop softwares' installation authentication/validation process work in general, and hopefully apply it to softwares I make. But to start with a specific example, consider Mathematica's off-Internet installation process, its official documentation mentions three key elements called MathID, activation key, and password:


I'd like to get some theoretic understanding of what these three things are and how they make the authentication work.

My current vague understanding/guess is that

  • MathID is some kind of ID of a computer?
  • activation key and password is generated as a pair to validate it is purchased/properly obtained copy?

1 Answer 1


The details are likely proprietary and not open. But from the description the MathID is specific to the system and might be derived from some system properties so the the license cannot be simply transferred to another system.

The role of the password seems to be to ensure that the activation key and MathId was transferred to Wolfram - because only then you get the password. So it might be as simple as

password = some_kind_of_hash(MathId, activationKey)

which allows the password to be easily generated online after transmitting MathId and activationKey and then to be checked offline locally where both of these information are known too.

But again, details are unlikely publicly available.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .