The idea of using one-way functions, which can only be inverted if a certain secret (a so-called "trapdoor") is known, has led to the invention of
public key cryptography
or
asymmetric cryptography
[21]. Today, public key cryptography is a battlefield for mathematicians and theoretical computer scientists. We are not going to delve into the mathematical foundations of public key cryptography. Instead, we address public key cryptography from a more practical point of view. From this point of view, a public key cryptosystem is simply a cryptosystem in which a
A public key that can be published without doing any harm to the system's overall security;
A private key that is assumed to never leave the possession of its owner.
For both the public and the private keys, it is
Figure 5.3:
A public key cryptosystem
If A wants to protect the confidentiality of a plaintext message
P
, she uses the public key of B, which is
k
B
, encrypts
P
with this key, and sends the resulting
A public key cryptosystem can not only be used to protect the confidentiality of a message, but also to protect its authenticity and integrity. If A wanted to protect the authenticity and integrity of a message
M
, she would compute a digital signature
S
for
M
. Digital signatures provide an electronic analog of handwritten signatures for electronic documents, andsimilar to handwritten signaturesdigital signatures must not be forgeable, recipients must be able to verify them, and the signers must not be able to repudiate them later. However, a major difference between a
Arbitrated digital signature schemes are based on secret key cryptography. In such a scheme, a TTP
A key-generation algorithm that
A signature algorithm that takes as input a message and a private key and that generates as output a digital signature for the message;
A signature verification algorithm that takes as input a digital signature and a public key and that generates as output a message and an information bit according to whether the signature is valid for the message.
A comprehensive overview and discussion of public key-based digital signature schemes are given in [22]. According to the OSI security architecture, a digital signature refers to data appended to, or a cryptographic transformation of, a data unit that allows a recipient of the data unit to
A digital signature giving message recovery refers to the situation in which a cryptographic transformation is applied to a data unit. In this case, the data is automatically recovered if the recipient verifies the signature.
In contrast, a
digital signature with appendix
refers to the situation in which some
In the case of digital signatures with appendix, the bandwidth limitation of public key cryptography is unimportant because of the use of one-way hash functions as auxiliaries. Again referring to Figure 5.3, A can use her private key
k
−
1
A
to compute a digital signature
S
=
D
A
(
M
) or
S
=
D
A
(
h
(
M
)) for message
M
. In the second case,
h
refers to a collision-resistant one-way hash function that is applied to
M
before generating the digital signature. Anyone who
The use of public key cryptography
A public key;
Certificate information that refers to the certificate owner's identity, such as his or her
One or more digital signatures.
The aim of the digital signature(s) on the certificate is to state that the certificate information has been attested to by some other person or entity.
A digital certificate can be one of a number of different formats, including, for example, PGP and X.509. PGP and X.509 certificates are identified in different ways. More
As their name suggests, X.509 certificates conform to the ITU-T recommendation X.509. In fact, X.509 specifies both a certificate format and a certificate distribution scheme [24]. It was first published in 1988 as part of the X.500 directory recommendations. The X.509 version 1 (X.509v1) format was extended in 1993 to
A trust model refers to the set of rules a system or application uses to decide whether a certificate is valid. There are (at least) three different trust models:
In the direct trust model , a user trusts a key that is valid because he or she knows where it came from (e.g., the user gets the key directly from another user).
In the
hierarchical trust model
, there are a number of "root" certificates from which trust extends. More specifically, in this model, certificates may certify public keys, or they may certify certificates that
The
cumulative trust model
encompasses both the direct and hierarchical trust models but also adds the notion that trust is in the eye of the beholder and the idea that more information is better. In this model, a certificate might be trusted directly, trusted in some chain going back to a directly trusted root certificate, or trusted by some
Obviously, direct trust is the simplest trust model, and many systems that use cryptography depend on it. For example, in Web browsers root CA keys are directly trusted because they are shipped together with the software packages.
Contrary to that, the trust model often used in the context of ITU-T X.509 certificates is hierarchical [24, 25].
[4]
In this case, the simplest model one may think of is a certification hierarchy representing a tree with a single root CA. However, more general structures and graphs (including
In the following sections, we overview some public key cryptosystems that are in widespread use today. The notion of a PKI will be further addressed in Chapter 19.
The most widely used public key cryptosystem is RSA, invented by Ronald L. Rivest, Adi Shamir, and Len M. Adleman at MIT in 1977 [26]. The RSA cryptosystem gets its security from the difficulty and intractability of the integer factorization problem. What this means is that it is
Mathematically spoken, the RSA public key cryptosystem requires two distinct large primes (
p
and
q
). Denote
n
=
pq
and
φ
(
n
) = (
p
−
1)(
q
−
1), where
φ
refers to the Euler function. Each user chooses a large number
d
> 1 such that (
d
,
φ
(
n
)) = 1 and computes the number
e
(1 < e <
φ
(
n
)) that satisfies the
To encrypt, one raises the plaintext block
P
to the power of
e
and
To decrypt, one raises the ciphertext block C to the power of d and reduces modulo n : P = C d (mod φ ( n )).
Digital signature generation and verification uses the same algorithms with different keys (the private key is used to digitally sign a message, whereas the public key is used to verify the signature).
The RSA public key cryptosystem was protected by U.S. Patent No. 4,405,829 "Cryptographic Communications System and Method," issued and granted to MIT on September 20, 1983. The patent
In 1977, Whitfield Diffie and Martin Hellman proposed a key agreement protocol that allows
Mathematically speaking, the Diffie-Hellman key agreement protocol requires a finite cyclic group
G
of order
G
and generator
a
. To agree on a session key, A and B then
The Diffie-Hellman key agreement protocol was protected by U.S. Patent No. 4,200,770, "Cryptographic Apparatus and Method," issued and granted to Stanford University on April 29, 1980. The patent expired in 1997.
In the early 1980s, Taher ElGamal
Unlike many other public key cryptosystems, the ElGamal public key cryptosystem is not covered by any patents.
In the early 1990s, the U.S. NIST published the Digital Signature Standard (DSS) as a
More recently, the use of elliptic curve cryptography (ECC) has attracted a lot of interest. ECC-based public key cryptosystems obtain their security from the difficulty and intractability of the elliptic curve discrete logarithm problem (that uses groups of points on elliptic curves). As
|
|
|
Acronym |
Text |
|---|---|
|
|
|
|
ECDH |
Elliptic curve Diffie-Hellman key agreement |
|
ECDSA |
Elliptic curve digital signature algorithm |
|
ECES |
Elliptic curve encryption scheme |
|
ECMQV |
Elliptic curve MQV key agreement |
|
ECNRA |
Elliptic curve Nyberg-Rueppel signature scheme with appendix |
|
|
Unlike RSA, the general category of ECC is not patented. Individual companies, however, have filed patents for specific efficiency or security algorithms that are related to ECC. Most important, the Certicom Corporation [5] holds several patents in this field.
[4]
Note that X.509 does
not
embody a hierarchic trust model. The existence of cross-certificates, as well as forward and reverse certificates, makes the X.509 model a mesh, analogous in some ways to PGP's web of trust. The X.509 model is often erroneously characterized as a hierarchic trust model because it is usually mapped to the directory information tree (DIT), which is
[5] http://www.certicom.com
|
Team-Fly
|