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?