A review of modular multiplication methods and respective hardware implementations