Public Key Encryption Systems
In 1976, Diffie and Hellman [DIF76] proposed a new kind of system, public key
encryption, in which each user would have a key that did not have to be kept
secret. Counterintuitively, the public nature of the key would not inhibit the
system's secrecy. The public key transformation is essentially a one-way
encryption with a secret (private) way to decrypt.
Public key systems have an enormous advantage
over conventional key systems: Anyone can send a secret message to a user,
while the message remains adequately protected from being read by an
interceptor. With a conventional key system, a separate key is needed for each
pair of users. As we have seen, n users require n * (n - 1)/2 keys. As the
number of users grows, the number of keys rapidly increases. Determining and
distributing these keys is a problem; more serious is maintaining security for
the keys already distributed, because we cannot expect users to memorize so
many keys.
Characteristics
With a public key or asymmetric encryption
system, each user has two keys: a public key and a private key. The user may
publish the public key freely. The keys operate as inverses. Let kPRIV
be a user's private key, and let kPUB be the corresponding public
key. Then,
P = D(kPRIV, E(kPUB,P))
That is, a user can decode with a private key
what someone else has encrypted with the corresponding public key. Furthermore,
with the second public key encryption algorithm,
P = D(kPUB, E(kPRIV, P)
a user can encrypt a message with a private key
and the message can be revealed only with the corresponding public key. (We
study an application of this second case later in this chapter, when we examine
digital signature protocols.)
These two properties imply that public and
private keys can be applied in either order. Ideally, the decryption function D
can be applied to any argument, so we can decrypt first and then encrypt. With
conventional encryption, one seldom thinks of decrypting before encrypting.
With public keys, it simply means applying the private transformation first,
and then the public one.
We saw in Chapter 2
that, with public keys, only two keys are needed per user: one public and one
private. Thus, users B, C, and D can all encrypt messages for A, using A's
public key. If B has encrypted a message using A's public key, C cannot decrypt
it, even if C knew it was encrypted with A's public key. Applying A's public
key twice, for example, would not decrypt the message. (We assume, of course,
that A's private key remains secret.) In the remainder of this section, we look
closely at three types of public key systems: MerkleHellman knapsacks, RSA
encryption, and El Gamal applied to digital signatures.
Related Topics
Privacy Policy, Terms and Conditions, DMCA Policy and Compliant
Copyright © 2018-2024 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.