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) = xmod10 ( any base will do ) on$(\mathbb{N},+)$.