Generalized El-Gamal cipher implemented in Idris