http://loup-vaillant.fr/articles/implemented-my-own-crypto link http://loup-vaillant.fr/articles/implemented-my-own-crypto