Modern cryptography is based on the secrecy of the key. In Secret-Key Cryptosystems, two parties have to meet and agree on a common secret key before any communication can happen. In Public-key Cryptosystems, each party has a pair of keys, one published in a database available to everybody and the...