Public Key Algorithms: The Two-Key System
As stated, early cryptosystems had the weakness of the use of a single cipher key. Ownership of the key broke open the whole system and allowed any key owner to decipher the message. Security therefore related to maintaining the secrecy of the key—if the same degree of protectiveness was applied to the message, encryption would be unnecessary.
This all changed with the invention of the two-key cryptosystem, which uses different encode and decode keys that cannot be derived from one another. A further benefit of this approach is that the keys could be exchanged to relevant parties publicly with security maintained. This two-key Public Key Algorithm (PKA) is the fundamental process underlying encryption, authentication, and digital signatures—referred to as Public Key Encryption (PKE). If the message to be secured is plaintext P, the keyed encryption algorithm E, and the keyed decryption algorithm D, then the method requires the following logic: 1. D[E(P)] = P 2. It is exceedingly difficult to deduce D from E. 3. E cannot be broken by a chosen plaintext attack. So: 1. Says that if decryption key D is applied to the encrypted text—that is, E(P)— then plaintext P is recovered. 2. Needs no explanation. 3. Would-be intruders can experiment with the algorithm for an impracticably long time without breaking the system, so the keys can be made public without compromising access security. In practice, Party A, wishing to receive secure messages, first devises two algorithms, EA and DA, meeting the three requirements. The encryption algorithm and key EA is then made public; hence using public key cryptography. Thus, EA is public, but DA is private. Now, the secure communication channel can be operated: Party A, who has never had contact with Party B, wishes to send a secure message. Both parties’ encryption keys (EA and EB) are in a publicly readable file. Party A takes the first message to be sent, P, computes EB(P) and sends it to Party B. Party B decrypts it by applying her secret key DB (that is, they compute DB[EB(P)] = P). No third party can read the encrypted message, EB(P), because the encryption system is assumed strong and because it is too difficult to derive DB from the publicly known EB. The communication is secure. So, public key cryptography requires each user to have two keys: Public key. Used by everyone for sending messages to that user Private key. Used by the recipient for decrypting messages Now. let’s take a little “back-to-school” refresher course.
94 times read
|