- The plaintext is processed by a hashing algorithm such as MD5.
- The digest (this is the name of the output of a hashing function) is encrypted with Alice’s private key. When Bob will receive the message, he can decrypt the hash (Bob has Alice’s public key) and verify that the hash is correct. This is the signature of the message: we are sure that the message was send by Alice and that it was not modified by someone.
- The plaintex and the encrypted hash are now concatenated into a single message.
- This message is now compressed using the ZIP program.
- The compressed text is the input for the symmetric IDEA (International Data Encryption Algorithm). The IDEA algorithm uses a 128 bit key called Km. Km is randomly chosen.
- The 128 bit IDEA key (Km) is now encrypted with Bob’s public key.
- The encrypted key (6th step) is concatenated with the output of the IDEA algorithm (5th step).
- All this is converted in Base64.