Can you please explain how classical and public key approaches are combined into hybrid cryptosystems?
Before I begin to answer your question, I think I should discuss what "classical" ciphers are. I will then explain how they are used with public key ciphers in hybrid cryptosystems. The term classical ciphers is usually used to refer to transposition ciphers, which rearrange the order of letters in a message and substitution ciphers, which systematically replace letters or groups of letters with other letters or groups of letters, so for example, SearchSecurity becomes d3V$kpd3k?$Wxq by substitution. Transposition and substitution ciphers are both symmetric key ciphers, as they both require the same key to cipher and decipher. Modern cryptanalysis has made simple substitution and transposition ciphers obsolete as neither of these operations alone can provide sufficient security. However, strong ciphers can be built by combining them and it is these modern symmetric key ciphers that are used in hybrid cryptosystems.
Symmetric key or, shared secret, ciphers can be grouped into block ciphers and stream ciphers. Stream ciphers encrypt one bit at a time, in contrast to a block cipher, which operates on a group of bits -- a block -- of a certain length all in one go. Symmetric key algorithms are generally much faster to execute than public key or, asymmetric key algorithms, but their big disadvantage is the requirement of a shared secret key, which must be somehow exchanged in a secure way between the two parties wishing to encrypt their messages. Public key encryption solves this problem as it uses two keys, a public and a private key. The public key is used for encryption and the private key is used for decryption. This means that someone can freely send their public key over an insecure channel and be sure that only they can decrypt messages encrypted with it. Hybrid cryptosystems combine symmetric and asymmetric encryption in order to take advantage of the higher speed of symmetric ciphers and the ability of asymmetric ciphers to securely exchange keys. The key that's used for the symmetric cipher uses a public key cipher when information is exchanged and the rest is encrypted using the symmetric key cipher. This combined use of both cipher types appears in many security products and protocols, including e-mail, PGP, Web browsing, and SSL. This use is probably best explained with an example.
Bob wants to send an encrypted message to Alice. However, Bob has to tell Alice what the key will be if they use a symmetric key cipher. He is concerned that someone may steal the key and be able to decrypt the message if he sends her the key in plaintext. Therefore, Alice sends Bob her public key, which is paired with a private key that only she has. Bob decides to use kpd3kd3V$?$Wxq as the key for their chosen symmetric cipher. He encrypts this key with Alice's public key using a public key cipher and sends it to her in an e-mail. Alice is the only person who can decrypt the contents of the e-mail, because Alice is the only one who has the private key that matches Bob's encrypted public key. By using public key encryption, Bob and Alice were able to securely exchange a key that they can now both use to encrypt and decrypt messages between them using a faster symmetric key cipher. It is important to note that the complete security of any practical encryption scheme is not proven. A symmetric cipher may only have proven security against a limited class of attacks, while asymmetric ciphers rely on the difficulty of the associated mathematical problem for their security.
Learn how to initiate a secure session
Dig Deeper on Email and Messaging Threats-Information Security Threats
Related Q&A from Michael Cobb
Pirated software is still a major concern nowadays. Uncover how to prevent software piracy and protect your organization's intellectual property. Continue Reading
Shellcode is a set of instructions that executes a command in software to take control of or exploit a compromised machine. Read up on the malware ... Continue Reading
The popular port scan is a hacking tool that enables attackers to gather information about how corporate networks operate. Learn how to detect and ... Continue Reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.