The Identity-Based Encryption consist of four randomized algorithms: Setup, Extract, Encrypt, Decryption. The Setup phase is done by Private-key generator, Encrypt by sender and Decryption by receiver. the Extract phase is done by PKG or receiver?
The Extract phase is performed by the Private Key Generator (PKG). Note that in IBE it is not necessary a Public Key Generator, since public keys are just arbitrary bit strings or "identities". So, to sum up:
- Setup, executed by the PKG. This algorithm creates, among other things, a master key for the PKG.
- Extract, executed by the PKG. This algorithm enables the creation of the corresponding private key for an arbitrary identity. The PKG needs the master key for doing this.
- Encrypt, executed by the sender, who only needs to specify the receivers' identity.
- Decrypt, executed by the receiver, who is in possession of a private key that must be generated by the Extract algorithm.
This is much better explained in the Wikipedia.