A method of sending an encrypted message by a sender having a sender identity string ( Id sender) to a recipient over a network using identity-based encryption, the method comprising: identifying a trusted center ( TC;20) by a TC identity string ( Id TC), the trusted center having an identity-based public encryption key of the trusted center ( g pub) based on a secret master key ( s) of the trusted center (TC;20) and the TC identity string ( Id TC); securely receiving, by the sender, a sender private key ( Prv sender), the sender private key having been computed by the trusted center (TC;20) based on the secret master key ( s) of the trusted center (TC;20) and the sender identity string ( Id sender); determining if the sender has the sender private key ( Prv sender) and a plurality of public parameters for the trusted center, the public parameters including the identity-based public encryption key of the trusted center ( g pub) and a bilinear map ( e); verifying the public parameters of the trusted center by the sender using the TC identity string ( Id TC) prior to encrypting a plaintext message, wherein the verifying the public parameters by the sender comprises comparing values of the bilinear map ( e) calculated with variables comprising the sender private key ( Prv sender) and the identity-based public encryption key of the trusted center ( g pub); identifying the recipient by a recipient identity string ( Id recipient), the recipient having an identity-based public encryption key of the recipient ( g recipient) for the trusted center based on the recipient identity string ( Id recipient); generating the identity-based public encryption key of the recipient ( g recipient) using the public parameters and the recipient identity string ( Id recipient); encrypting the plaintext message as ciphertext using the public parameters, a random symmetric key ( σ) and the identity-based public encryption key of the recipient ( g recipient), the ciphertext including the encrypted message; and transmitting the ciphertext to the recipient over the network. identifying a trusted center ( TC;20) by a TC identity string ( Id TC), the trusted center having an identity-based public encryption key of the trusted center ( g pub) based on a secret master key ( s) of the trusted center (TC;20) and the TC identity string ( Id TC); securely receiving, by the sender, a sender private key ( Prv sender), the sender private key having been computed by the trusted center (TC;20) based on the secret master key ( s) of the trusted center (TC;20) and the sender identity string ( Id sender); determining if the sender has the sender private key ( Prv sender) and a plurality of public parameters for the trusted center, the public parameters including the identity-based public encryption key of the trusted center ( g pub) and a bilinear map ( e); verifying the public parameters of the trusted center by the sender using the TC identity string ( Id TC) prior to encrypting a plaintext message, wherein the verifying the public parameters by the sender comprises comparing values of the bilinear map ( e) calculated with variables comprising the sender private key ( Prv sender) and the identity-based public encryption key of the trusted center ( g pub); identifying the recipient by a recipient identity string ( Id recipient), the recipient having an identity-based public encryption key of the recipient ( g recipient) for the trusted center based on the recipient identity string ( Id recipient); generating the identity-based public encryption key of the recipient ( g recipient) using the public parameters and the recipient identity string ( Id recipient); encrypting the plaintext message as ciphertext using the public parameters, a random symmetric key ( σ) and the identity-based public encryption key of the recipient ( g recipient), the ciphertext including the encrypted message; and transmitting the ciphertext to the recipient over the network.