Various cryptosystems and number theory algorithms