The original and still most famous protocol for key agreement was proposed by Diffie and Hellman (see Diffie-Hellman Key Agreement) with their concept of public key cryptography. Basically, users Alice and Bob send public key values to themselves through an unsecured channel. Based on the knowledge of their corresponding private keys, they are able to calculate a common key value correctly and securely. However, a spy is not able to calculate this key in the same way by knowing only the file. The largest branches can be roughly divided into key transactions and key agreements. The keys involved in setting up a shared secret are created by one of the key generators (KeyPairGenerator or KeyGenerator), a KeyFactory, or as a result of an intermediate phase of the key memorandum of understanding. If properly implemented, this prevents undesirable third parties from imposing an important choice on the contracting parties. Protocols that are useful in practice also do not reveal to any listening party which key has been agreed. For example, DH-EKE, SPEKE, and SRP are password-authenticated variants of Diffie-Hellman. The first publicly known public key moU to meet the above criteria was the Diffie-Hellman key exchange, in which two parties jointly expose a random number generator in such a way that a spy cannot determine what the resulting value is used to create a common key. Commonly used key MEAs include Diffie-Hellman or RSA- or ECC-based protocols. .