An optimized C implementation of the RSA public key encryption using the Montgomery Multiplication algorithm