I have been reading the question "What is a white-box implementation of a cryptographic algorithm?" and it led to this short article / Q&A which states in question 2:
Q2: What is the difference with code obfuscation?
Related and complementary techniques for protecting software implementations but with different security goals include code obfuscation and software tamper- resistance. Code obfuscation is aimed at protecting against the reverse engineering of a (cryptographic) algorithm while software tamper-resistance is aimed at protecting against modifications of the code. All these techniques have however in common that the resulting implementation must remain directly executable.
Now, it shows the differences between obfuscation and temper-resistance, but it says nothing about the difference between white-box cryptography and code obfuscation.
So I guess my question is: are those two completely different things? Or is code obfuscation a way to achieve white-box cryptography? If the second is true, are there other ways to achieve it?