Public‑Key Cryptography and Advanced Protocols
Understand the fundamentals of public‑key cryptography, the hard mathematical problems and real‑world attacks that impact it, and advanced protocols including hybrid, lightweight, and zero‑knowledge schemes.
Summary
Read Summary
Flashcards
Save Flashcards
Quiz
Take Quiz
Quick Practice
What is the computational relationship between the public and private keys in a public-key cryptosystem?
1 of 20
Summary
Public-Key Cryptography
Introduction
Public-key cryptography revolutionized secure communication by solving a fundamental problem: how can two parties communicate securely without first sharing a secret key? Unlike symmetric cryptography, where the same key encrypts and decrypts, public-key systems use a pair of mathematically related keys. This section explains how these systems work, why they're secure, and how they're used in modern cryptography.
The Public-Key Principle
In a public-key cryptosystem, each person has two mathematically related keys:
Public Key: Can be freely shared with anyone and used by others to encrypt messages or verify signatures
Private Key: Kept secret by the owner and used to decrypt messages or create digital signatures
The crucial property is this: it must be computationally infeasible to derive the private key from the public key, even if an attacker knows the public key and has powerful computers. This asymmetry is what makes public-key cryptography possible.
Consider how this differs from symmetric encryption:
With symmetric keys, both parties need the same secret key. In contrast, public-key encryption looks like this:
Bob can encrypt a message using Alice's public key, and only Alice (who has the private key) can decrypt it. Notice that the public key is green (shareable) while the private key is red (secret).
Digital Signatures: Authentication and Non-Repudiation
While public-key encryption provides confidentiality, digital signatures solve a different problem: How can Alice prove she created a message, and prove that Bob can't deny receiving it?
Digital signatures work in reverse from encryption:
Alice uses her private key to "sign" a message (creating a signature)
Bob uses Alice's public key to verify the signature
If the signature is valid, Bob knows the message came from Alice and hasn't been altered
This provides two important security properties:
Authentication: The signature proves the message came from Alice (the only one with her private key)
Non-repudiation: Alice cannot later claim she didn't send the message, since only she could have created a valid signature with her private key
Common digital signature schemes include RSA signatures and the Digital Signature Algorithm (DSA). The process typically involves hashing the message first, then signing the hash—this is faster and more secure than signing the entire message.
The Hard Mathematical Problems
Public-key cryptography's security rests entirely on the assumption that certain mathematical problems are computationally hard—meaning no efficient algorithm exists to solve them in polynomial time, even for the world's most powerful computers.
Integer Factorization
RSA's security depends on the difficulty of the integer factorization problem: given a large number $n$ that is the product of two large prime numbers (a semiprime), find those two prime factors.
Why is this hard? Multiplying two large primes is easy: $p \times q = n$ takes milliseconds. But reversing this—factoring $n$ back into $p$ and $q$—appears to require exponential time. No one has found a fast factorization algorithm, and many believe none exists for classical computers.
Discrete Logarithm Problem
Diffie-Hellman and Digital Signature Algorithm rely on the discrete logarithm problem: given a group $G$, a generator $g$, and a value $y = g^x$, find the exponent $x$.
Again, the forward direction is fast: compute $g^x$ using fast exponentiation. But finding $x$ from $g^x$ seems to require trying exponentially many possibilities (on average, half of all possible values).
Elliptic Curve Problems
Elliptic Curve Cryptography (ECC) relies on the discrete logarithm problem over elliptic curves. Interestingly, the elliptic curve discrete logarithm problem is believed to be harder than regular integer factorization for equivalent key sizes. This is why ECC became popular in the 1990s—it provides the same security strength with much shorter keys.
Why does this matter? Shorter keys mean faster computation, smaller hardware, and lower power consumption. A 256-bit elliptic curve key provides roughly the same security as a 2048-bit RSA key.
<extrainfo>
A Note on Quantum Computers
Quantum computers could theoretically solve both integer factorization and discrete logarithm problems efficiently using Shor's algorithm. However, quantum computers capable of breaking current encryption don't yet exist. This remains an active area of research, and efforts are underway to develop "post-quantum" cryptographic algorithms.
</extrainfo>
Key Size Implications
The security of public-key systems depends critically on key size. Larger keys are harder to break, but they also increase computation time and storage requirements.
RSA requires much larger keys than ECC to achieve the same security level:
RSA: 2048-bit keys are standard for current security needs; 3072 or 4096 bits for long-term security
ECC: 256-bit keys provide equivalent security to 2048-bit RSA; 384-bit keys provide equivalent security to 3072-bit RSA
This difference is why ECC has become increasingly popular for modern applications, especially on devices with limited computational power or battery life.
Real-World Security: Beyond Mathematics
Theoretical mathematical security is necessary but not sufficient. Real cryptographic systems can fail due to implementation flaws and real-world attacks.
Side-Channel Attacks
Side-channel attacks exploit information leaked from how a cryptographic algorithm is physically implemented, rather than attacking the mathematics directly.
Timing attacks are a common example: if decryption takes different amounts of time depending on the key value, an attacker can measure these differences and gradually learn the secret key. For instance, if a comparison operation exits early when it finds a mismatch, the time taken reveals information about the correct key bytes.
Traffic Analysis
Even when messages are encrypted, attackers can gather information by observing:
Patterns: Who communicates with whom
Message lengths: Encrypted messages reveal their size, which can hint at content
Timing: When messages are sent can reveal activities
Administrative Weaknesses
No cryptosystem is stronger than how it's managed. Common failures include:
Using keys that are too short
Reusing keys across different purposes
Storing keys insecurely
Poor random number generation
Social Engineering
Often the weakest link isn't mathematics—it's people. Techniques like bribery, extortion, blackmail, espionage, and coercive interrogation are often more cost-effective than mathematical cryptanalysis.
Hybrid Cryptosystems
While public-key cryptography solves the key exchange problem, it's much slower than symmetric encryption. The solution is hybrid cryptosystems, which combine the best of both worlds:
How they work:
Use a symmetric cipher (like AES) to encrypt the actual data—this is fast
Use a public-key cipher (like RSA or ECC) to encrypt the symmetric key itself
For example, Alice can:
Generate a random symmetric key $K$
Encrypt her message with $K$ using AES
Encrypt $K$ with Bob's public key using RSA
Send both the encrypted message and encrypted key to Bob
Bob decrypts by:
Using his private key to decrypt the symmetric key $K$
Using $K$ to decrypt the message with AES
This approach gets the security benefits of public-key cryptography (no need to pre-share secrets) while maintaining the speed of symmetric encryption. Nearly all real-world secure communication uses this hybrid approach.
Typical Cryptographic Systems
El-Gamal Encryption
El-Gamal is a public-key encryption scheme based on the discrete logarithm problem. It's less commonly used than RSA today, but it's important because:
It demonstrates how the discrete logarithm problem can be used for encryption
It's probabilistic (the same plaintext encrypts to different ciphertexts), which provides better security than deterministic schemes
Schnorr Signatures
The Schnorr signature algorithm creates digital signatures using the discrete logarithm problem. It's notable for having provable security—its security can be proven under reasonable assumptions about the difficulty of the discrete logarithm problem.
Signal Protocol
The Signal protocol is a modern secure messaging protocol used by applications like Signal and WhatsApp. It combines multiple cryptographic primitives:
Elliptic curve cryptography for key exchange
AES for message encryption
HMAC for message authentication
It's designed to provide forward secrecy (old messages remain secure even if a key is later compromised) and authentication between parties.
<extrainfo>
Advanced Systems (Possibly Beyond Exam Scope)
Several sophisticated cryptographic systems exist for specialized purposes:
Zero-knowledge proofs: Allow proving knowledge of a secret without revealing it. Useful for authentication and privacy-preserving protocols.
Secret sharing: Distribute a secret among multiple participants so that a threshold number (e.g., 3 out of 5) must cooperate to reconstruct it. Useful for protecting critical keys.
Electronic cash systems: Enable anonymous digital payments using cryptographic protocols.
Signcryption: Combines digital signature and encryption into a single efficient operation, useful when both authentication and confidentiality are needed.
</extrainfo>
Summary
Public-key cryptography solves the fundamental problem of secure communication without pre-shared secrets by relying on the computational difficulty of problems like integer factorization and discrete logarithms. Digital signatures provide authentication and non-repudiation using the private/public key pair. While the mathematical foundations are strong, real-world security depends on proper implementation (avoiding side-channel leaks), careful key management, and awareness of social engineering threats. Hybrid cryptosystems combine public-key and symmetric encryption to gain both security and speed, and they form the basis of most modern secure communication protocols.
Flashcards
What is the computational relationship between the public and private keys in a public-key cryptosystem?
It is computationally infeasible to derive the private key from the public key.
Which specific keys are used to sign and verify a digital signature?
Private key: used to sign the message (or its hash)
Public key: used to verify the signature
On which mathematical problem does the security of RSA rely?
Integer factorization
What mathematical area provides the hard problems necessary for Elliptic Curve Cryptography (ECC)?
Elliptic-curve mathematics
How does a hybrid cryptosystem utilize symmetric-key and public-key algorithms together?
It uses a fast symmetric-key algorithm for data encryption and a public-key algorithm to encrypt the symmetric key.
What specific type of numbers makes integer factorization infeasible for classical deterministic Turing machines in polynomial time?
Semiprime numbers
How does the difficulty of the elliptic curve discrete logarithm problem compare to integer factorization for similar key sizes?
Elliptic curve discrete logarithm problems are harder.
What is the primary goal of public-key cryptanalysis?
To design polynomial-time algorithms that solve integer factorization or discrete logarithm problems.
Which developing technology is studied for its potential to efficiently solve integer factorization and discrete logarithm problems?
Quantum computers
Between RSA and elliptic curve systems, which requires larger keys for equivalent security strength?
RSA (Rivest Shamir Adleman)
What is the main advantage of Elliptic Curve Cryptography (ECC) that led to its popularity in the mid-1990s?
It provides strong security with shorter keys.
What do side-channel attacks exploit to break a system?
Information leaked from the physical implementation of cryptographic algorithms.
How do timing attacks infer secret data?
By measuring how long a device takes to process (encrypt or decrypt) different inputs.
Why does poor administration, such as using short keys, compromise a cryptosystem?
It makes the system vulnerable regardless of its theoretical mathematical strength.
On which mathematical problem is the El-Gamal encryption scheme based?
The discrete logarithm problem
Which three security properties does the Signal protocol aim to achieve?
Confidentiality
Integrity
Authentication
What is the primary function of signcryption schemes?
To combine signing and encryption into a single efficient operation.
What is the purpose of a zero-knowledge proof?
To allow a party to prove knowledge of a secret without revealing the secret itself.
How does a secret sharing scheme function?
It distributes a secret among multiple participants, requiring a threshold number of them to reconstruct it.
What are the three main resource constraints targeted by lightweight cryptography in environments like the Internet of Things (IoT)?
Power consumption
Processing capability
Memory
Quiz
Public‑Key Cryptography and Advanced Protocols Quiz Question 1: What is the primary motivation for developing lightweight cryptography?
- To secure devices with limited resources (correct)
- To replace all existing cryptographic standards
- To provide inherent quantum‑resistance
- To increase key lengths for higher security
Public‑Key Cryptography and Advanced Protocols Quiz Question 2: Which emerging technology is studied for its ability to solve integer factorization and discrete logarithm problems efficiently?
- Quantum computers (correct)
- Classical supercomputers
- Quantum annealers
- Blockchain networks
Public‑Key Cryptography and Advanced Protocols Quiz Question 3: Which digital‑signature algorithm provides provable security under the discrete‑logarithm assumption?
- Schnorr signature algorithm (correct)
- RSA signature scheme
- Digital Signature Algorithm (DSA)
- Elliptic Curve Digital Signature Algorithm (ECDSA)
Public‑Key Cryptography and Advanced Protocols Quiz Question 4: Which side‑channel attack infers secret information by measuring the time taken to encrypt or decrypt different inputs?
- Timing attack (correct)
- Power analysis attack
- Cache‑side channel attack
- Electromagnetic emanation attack
Public‑Key Cryptography and Advanced Protocols Quiz Question 5: Why is it computationally infeasible to derive the private key from the public key in a public‑key cryptosystem?
- Because the underlying mathematical problem is hard to solve (correct)
- Because the keys are stored on separate physical devices
- Because the public key is a random string unrelated to the private key
- Because the private key is encrypted with a symmetric key
Public‑Key Cryptography and Advanced Protocols Quiz Question 6: The security of RSA depends on the difficulty of which mathematical problem?
- Integer factorization problem (correct)
- Discrete logarithm problem
- Elliptic‑curve discrete logarithm problem
- Subset‑sum problem
Public‑Key Cryptography and Advanced Protocols Quiz Question 7: Which hard problem underlies the security of the Diffie–Hellman key exchange?
- Discrete logarithm problem (correct)
- Integer factorization problem
- Elliptic‑curve discrete logarithm problem
- Hash collision problem
Public‑Key Cryptography and Advanced Protocols Quiz Question 8: In a hybrid cryptosystem, which type of algorithm encrypts the bulk of the data?
- Symmetric‑key algorithm (correct)
- Public‑key algorithm
- Hash function
- Digital‑signature algorithm
Public‑Key Cryptography and Advanced Protocols Quiz Question 9: Which public‑key approach can achieve comparable security to RSA with considerably shorter keys?
- Elliptic‑curve cryptography (correct)
- Diffie–Hellman key exchange
- Advanced Encryption Standard (AES)
- Secure Hash Algorithm‑256 (SHA‑256)
Public‑Key Cryptography and Advanced Protocols Quiz Question 10: Which cryptographic construction combines signing and encryption into a single operation?
- Signcryption (correct)
- Hybrid encryption
- MAC‑then‑encrypt
- Authenticated encryption
Public‑Key Cryptography and Advanced Protocols Quiz Question 11: In a digital‑signature scheme, which operation is performed with the signer’s private key?
- Generate a signature on the message (or its hash) (correct)
- Encrypt the original message for confidentiality
- Derive the corresponding public key
- Verify a received signature
What is the primary motivation for developing lightweight cryptography?
1 of 11
Key Concepts
Public-Key Cryptography
Public‑key cryptography
Digital signature
RSA (cryptosystem)
Diffie–Hellman key exchange
Elliptic curve cryptography
Hybrid cryptosystem
Integer factorization problem
Discrete logarithm problem
Cryptographic Protocols
Signal protocol
Zero‑knowledge proof
Side‑channel attack
Resource-Constrained Cryptography
Lightweight cryptography
Definitions
Public‑key cryptography
A cryptographic system that uses mathematically linked public and private keys, where the public key encrypts or verifies and the private key decrypts or signs.
Digital signature
A cryptographic scheme where a private key signs a message (or its hash) and a public key verifies the signature, providing authenticity and non‑repudiation.
RSA (cryptosystem)
A widely used public‑key encryption and signature algorithm whose security relies on the difficulty of factoring large semiprime integers.
Diffie–Hellman key exchange
A protocol that enables two parties to jointly establish a shared secret over an insecure channel, based on the discrete logarithm problem.
Elliptic curve cryptography
A public‑key approach that uses the algebraic structure of elliptic curves over finite fields, offering comparable security with shorter keys.
Hybrid cryptosystem
A scheme that combines a fast symmetric‑key algorithm for data encryption with a public‑key algorithm to securely exchange the symmetric key.
Integer factorization problem
The computational challenge of decomposing a large composite integer into its prime factors, foundational to the security of RSA.
Discrete logarithm problem
The task of finding the exponent in a modular exponentiation equation, forming the basis of security for many public‑key systems such as Diffie–Hellman and DSA.
Side‑channel attack
An exploitation technique that derives secret information from physical implementation characteristics like timing, power consumption, or electromagnetic emissions.
Signal protocol
A secure messaging framework that integrates multiple cryptographic primitives to provide end‑to‑end confidentiality, integrity, and authentication.
Zero‑knowledge proof
An interactive cryptographic protocol whereby one party proves knowledge of a secret to another party without revealing any information about the secret itself.
Lightweight cryptography
A branch of cryptography designed for resource‑constrained devices, emphasizing low power, limited processing, and minimal memory usage.