Data storage in cloud computing leads to several security issues such as data privacy, integrity, and authentication. Efficiency for the user to upload and download the data in a secure way plays an important role, as users are nowadays performing these actions on all types of devices, including e.g. smartphones. Signing and encryption of the sensitive data before hosting can solve potential security breaches. In this chapter, we propose two highly efficient identity based signcryption schemes. One of them is used as a building block for a proxy re-encryption scheme. This scheme allows users to store signed and encrypted data in the cloud, where the cloud server provider is able to check the authentication but not to derive the content of the message. When another user requests data access, the originator of the message first checks the authorization and then provides the cloud server with an encryption key to re-encrypt the stored data, enabling the requesting party to decrypt the resulting ciphertext and to validate the signature. The proposed scheme is based on elliptic curve operations and does not use computationally intensive pairing operations, like previous proposals.