Cloud Computing has been envisioned as the next generation architecture of IT enterprise, due to its long list of unprecedented advantages in the IT history. Data sharing is an important functionality in cloud storage. In this paper, we show how to securely, efficiently, and flexibl yshare data with others in cloud storage. public-key cryptosystems that produce constant-size ciphertexts such that efficient delegation of decryption rights for any set of ciphertexts are possible .secret key holder can release a constant-size aggregate key for flexible choices of file formats in cloud storage, but the other encrypted files outside the set remain confidential. This compact aggregate key can be conveniently sent to others with very limited secure storage.