A linear map from matrices to matrices Let $M_n(k)$ denote the set of matrices over the field $k$, which could be viewed as a linear space of dimension $n^2$. Suppose $\varphi: M_n(k) \rightarrow M_n(k)$ is a nonzero linear map such that
$$ \forall A, B \in M_n(k):~\varphi(AB) = \varphi(A) \varphi(B).$$ 
How to prove that there exists a nonsingular matrix $C \in GL_n(k)$ with $$\forall A \in M_n(k):~\varphi(A) = CAC^{-1}?$$ 
 A: Since $\varphi$ is linear, it's only natural to investigate how it acts on the canonical basis of $M_n(k)$. Let $E_{ij}$ denote the matrix with a single one for the entry $(i,j)$ and $0$'s elsewhere.  It is standard that $E_{ij}E_{kl} = \delta_{jk}E_{il}$, hence $\varphi(E_{ij})\varphi(E_{kl}) = \delta_{jk}\varphi(E_{il})$.
Let $e_k$ denote the $k$-th vector of the canonical basis of $k^n$.Note that if $\varphi(E_{ij}) = CE_{ij}C^{-1}$, then $\varphi(E_{ij})Ce_k = \delta_{jk}Ce_i$. With $j=k$, $$\varphi(E_{ij})Ce_j=Ce_i$$ which yields a construction of $C$ (fix $j$ and let $i$ vary), as follows.
Let $I$ denote the identity matrix. Since $\varphi \neq 0$, there is some $A$ such that $\varphi(A)\neq 0$, hence $\varphi(A)\varphi(I)\neq 0$, hence $\varphi(I)\neq 0$. Since $I=\sum_{k=1}^n E_{kk}$, there exists some $k$ such that $\varphi(E_{kk})\neq 0$. WLOG suppose $k=1$. 
Since $\varphi(E_{11})\neq 0$, there exists $e_1'\in \operatorname{im}\varphi(E_{11})\setminus\{0\}$. Define $e_i':=\varphi(E_{i1})(e_1')$. It's easy to check that every $e_i'$ is non-zero and that $(e_1',\ldots, e_n')$ is linearly independent, hence a basis. Define $C$ the matrix with columns $(e_1',\ldots, e_n')$. $C$ is invertible by construction. It is easily checked that for fixed $(i,j)$, the following holds: $$\forall k, \varphi(E_{ij})e_k' = CE_{ij}C^{-1}e_k'$$ thus $$\varphi(E_{ij}) = CE_{ij}C^{-1}$$
Hence by linearity, $\varphi(A) = CAC^{-1}$ for all $A$.
