Group-based Cryptography