Find all endo-functions $f$ on a commutative semigroup $(\mathbb{S},*)$ such that $f(x*y) = f(f(x)*f(y))$. Typical case of interest are $(\mathbb{N},+)$ or $(\mathbb{Z}/k\mathbb{Z},+)$ or $(\mathbb{Z}/k\mathbb{Z},.)$. QUESTION : Has any seen this it before ? I like to call them *mo-morphisms* ( phonetically it repeats as in the right hand side of the equation). The motivation comes from the function $f(n) = x\operatorname{mod}10$ ( any base will do ) on $(\mathbb{N},+)$.