cryptomathematics homomorphic encryption cryptosystem cryptomorphism recursive function composite function cryptovariable composite feistel cipher mathematical function program