I. Overview

%%{init: { 'theme': 'base', 'themeVariables': { 'edgeLabelBackground': '#fff' }}}%%
flowchart LR
    A["Symmetric keys\nrequire pre-sharing"] -- "Using a public/private key pair" --> B["Key distribution\nproblem solved"]
    style A fill:#f9f9f9,stroke:#333,stroke-width:3px
    style B fill:#e1f5fe,stroke:#01579b,stroke-width:3px

Definition: A cryptographic scheme that uses a pair of keys — a public key and a private key — generated from a hard mathematical problem such as integer factorization or the discrete logarithm problem.

Features:
( Easy Key Distribution ) The public key can be distributed openly, making key management far simpler than with symmetric-key cryptography
( Confidentiality and Non-repudiation ) Alongside confidentiality through data encryption, it provides non-repudiation via digital signatures
( Computational Complexity ) Because it relies on complex operations grounded in hard mathematical problems, it is relatively slower than symmetric-key cryptography

II. Mechanism & Components

A. Confidentiality and Authentication (Digital Signature) Process

graph TD
    subgraph "Confidentiality"
        A1["Sender"] -->|"Encrypt with recipient's public key"| B1["Ciphertext"]
        B1 -->|"Decrypt with recipient's private key"| C1["Recipient (confidentiality achieved)"]
    end

    subgraph "Authentication & Non-repudiation"
        A2["Sender"] -->|"Encrypt with sender's private key"| B2["Digital signature"]
        B2 -->|"Decrypt with sender's public key"| C2["Verification (identity confirmed)"]
    end

Detailed mechanism:

  • Confidentiality: Encrypted with the recipient’s public key → only decryptable with the recipient’s private key
  • Authentication and non-repudiation: Encrypted (signed) with the sender’s private key → anyone can decrypt (verify) it with the sender’s public key

B. Major Algorithms and Their Mathematical Hard Problems

AlgorithmUnderlying Hard ProblemFeatures & Use
RSAInteger factorizationThe most widely used algorithm; key lengths trend longer over time (2048 bits or more)
ECCElliptic Curve Discrete Logarithm Problem (ECDLP)Provides the same security strength as RSA with a much shorter key (ideal for mobile/IoT)
Diffie-HellmanDiscrete logarithmA key-exchange-only algorithm, used in the early stages of SSL/TLS
ElGamalDiscrete logarithmHas the drawback that ciphertext grows to twice the size of the plaintext

III. Advanced Topics & Comparison

Comparison ItemSymmetric-Key CryptographyAsymmetric-Key Cryptography
Number of Keys1 (shared secret key)2 (public key, private key)
Key DistributionDifficult (requires pre-sharing)Very easy (public key can be distributed)
Computation SpeedFast (suited to large volumes)Slow (roughly 100–1,000x slower)
Core UseEncrypting the data bodyKey exchange, digital signatures, authentication

Last updated 18 Aug 2026, 00:00 UTC. history