Cryptographic key: Difference between revisions
imported>Sandy Harris |
imported>Sandy Harris (→Symmetrical cryptosystems: link to Kerberos) |
||
Line 9: | Line 9: | ||
In a symmetrical cryptosystem, the decryption or signature key can be easily computed from the encryption or verification key. In most practical systems they are identical, and the key is called a '''symmetric key''' or '''secret key'''. | In a symmetrical cryptosystem, the decryption or signature key can be easily computed from the encryption or verification key. In most practical systems they are identical, and the key is called a '''symmetric key''' or '''secret key'''. | ||
Symmetric keys must be distributed securely, which involves a large administrative overhead if communication between a large number of parties must be protected. It becomes impractical for each pair of users to share a key to protect their communication, so often a central trusted party is introduced. Then every user shares a key with the trusted party, which distributes symmetric keys to each pair of users who want to communicate. | Symmetric keys must be distributed securely, which involves a large administrative overhead if communication between a large number of parties must be protected. It becomes impractical for each pair of users to share a key to protect their communication, so often a central trusted party is introduced. Then every user shares a key with the trusted party, which distributes symmetric keys to each pair of users who want to communicate. [[Kerberos]] is a widespread system implementing this idea. | ||
===Session keys=== | ===Session keys=== |
Revision as of 01:50, 20 March 2010
A cryptographic key is a variable which influences the behavior of a cryptographic algorithm. A cipher uses an encryption key for encryption and a decryption key for decryption, a digital signature uses a signature keys for signing and verification key for verifying the signature. The more exotic keyed hash functions use keys to change the behavior of the hash according to which key is used. Generally (and more formally) speaking, a key can be considered an index into a family of functions.
Symmetrical cryptosystems
In a symmetrical cryptosystem, the decryption or signature key can be easily computed from the encryption or verification key. In most practical systems they are identical, and the key is called a symmetric key or secret key.
Symmetric keys must be distributed securely, which involves a large administrative overhead if communication between a large number of parties must be protected. It becomes impractical for each pair of users to share a key to protect their communication, so often a central trusted party is introduced. Then every user shares a key with the trusted party, which distributes symmetric keys to each pair of users who want to communicate. Kerberos is a widespread system implementing this idea.
Session keys
Modern encryption systems may use a more convenient and secure asymmetric cryptosystem to transfer session-generating keys, which are used to generate symmetrical keys used for a short period of time or a certain number of units of plaintext.
The session-generating keys may themselves be encrypted, with a symmetric or asymmetric key exchange key (KEK). Alternately a key agreement protocol such as Diffie-Hellman may be used; in these the two systems co-operate to securely create a key without transmitting it.
The rules on when and how to switch to a new key during a specific system are specific to the cryptosystem in use. Some such systems, when establishing their connection, negotiate the rules they will use, perhaps using a protocol such as Internet Key Exchange (IKE).
Asymmetric cryptosystems
Asymmetric cryptosystems, also known as public key cryptosystems operate around pairs of different keys with a complex mathematical relationship between them. Depending on the application, one is public, at least within a certain group of users, and one is private, to be held secret.
When the purpose of the cryptosystem is to ensure the contents of the message cannot be read by an unauthorized person (i.e.,content confidentiality), the public key is used as the encryption key, while the private key is used for decryption. Only an authorized user in possession of the decryption key can access the plaintext protected by the cryptosystem. For bilateral communications, there must be a key pair for each direction of communication.
If the cryptosystem is being used for authentication, a private key is used to compute a digital signature or other credential of the sender. Any receiver can use the public key to verify the authentication message; the fact that it can be decrypted with a verified public key validates the sender's identity.
Asymmetric methods are also frequently used with symmetric techniques in hybrid cryptosystems.