Cryptographic Assumptions & Challenges

Section II: Cryptographic Primitives

Army Cyber Institute

April 9, 2026

Why These Topics Now? Scope & Objectives

  • We’ve covered symmetric, asymmetric, hashing, signatures.

  • Today: assumptions under pressure and new tools.

  • Themes:

    • Real-world implementation failures
    • Quantum threats
    • Post-quantum cryptography,
    • Fully-homomorphic Encryption
    • Zero Knowledge Proofs
  • Outcome: awareness and evaluation skills, not proofs.

Cryptographic Assumptions Decay Over Time

  • As attacks against algorithms evolve; difficulty to break ciphers falls.

  • We must build hash/signature agility now.

  • Plan migrations in protocols and apps.

timeline
  title From "Safe" to "Deprecated"
  1995 : SHA-1 standardized; RSA-1024 common
  2005 : Theoretical attacks on SHA-1 published
  2011 : SHA-1 deprecated in many standards
  2017 : Practical SHA-1 collision demonstrated
  202X : PQC standardization; migration planning

Hash Fragility: Collision Resistance Isn’t Forever

  • SHA-1 (1995-2017): Once a global standard, now entirely deprecated due to practical collision attacks (e.g., SHAttered).
  • The Threat: Attackers can engineer two entirely different files (one benign, one malicious) that produce the exact same hash.
  • The Impact: Systems often sign the hash, not the file itself. A signature generated for the benign file will perfectly validate the malicious one.
  • The Fix: Migrate to modern, collision-resistant algorithms like SHA-256, SHA-512, or SHA-3.

Collision cluster_docs 1. Crafted Documents Benign Benign File (Safe) HashFunc SHA-1 (Deprecated) Benign->HashFunc Malicious Malicious File (Exploit) Malicious->HashFunc Digest Identical Digest (e.g., 38762cf...) HashFunc->Digest Collision Signature Valid Digital Signature (For Both Files!) Digest->Signature Sign

Quantum Primer: Why It Matters for Cryptography

  • Classical vs. Quantum: Classical computers use bits (0 or 1). Quantum computers use qubits, leveraging superposition and entanglement to represent complex, overlapping states.
  • Exponential Speedup: Quantum algorithms use interference to solve specific structured math problems exponentially faster than any classical supercomputer.
  • The Cryptographic Threat: Unfortunately, the mathematical foundations of RSA and Elliptic Curve Cryptography (ECC) are exactly the types of problems quantum computers excel at breaking.

The Timeline: While practical, large-scale quantum computers do not exist yet, the threat of “Harvest Now, Decrypt Later” makes this an immediate priority for long-lived secrets.

Shor’s Algorithm (1994): Breaking RSA and ECC

  • The Mathematical Breakthrough: In 1994, Peter Shor proved that a quantum computer could efficiently factor large integers and solve discrete logarithms, effectively breaking RSA and ECC.
    • Breaking modern crypto requires millions of physical qubits with advanced error correction, which remains a monumental engineering challenge.
  • The Mitigation: Proactively adopt Post-Quantum Cryptography (PQC) signatures and hybrid deployments.

Shors cluster_public 1. Public Keys (Exposed) cluster_private 2. Private Keys (Recovered) RSA_Pub RSA Public Key N = p × q Quantum Shor's Algorithm (Quantum Computer) RSA_Pub->Quantum ECC_Pub ECC Public Key Q = k × P ECC_Pub->Quantum RSA_Priv RSA Private Key (Factored p & q) Quantum->RSA_Priv Exponential Speedup ECC_Priv ECC Private Key (Solved Discrete Log k) Quantum->ECC_Priv Exponential Speedup

Grover’s Algorithm (1996)

  • Lov Grover formulated a quantum algorithm that searches unstructured data spaces quadratically faster than any classical algorithm.
  • This effectively halves the security bit-strength of symmetric encryption (like AES) and cryptographic hashes (like SHA). A 128-bit key provides only 64 bits of security against a quantum adversary.
  • The Mitigation: double the key or hash length. Primitives like AES-256 and SHA-384/512 remain robust and future-ready in a post-quantum world.

Grovers cluster_targets 1. Symmetric Primitives cluster_results 2. Effective Quantum Strength AES128 AES-128 / SHA-256 (128-bit Classical Security) Quantum Grover's Algorithm (Quantum Search) AES128->Quantum AES256 AES-256 / SHA-512 (256-bit Classical Security) AES256->Quantum Weak 64-bit Security (Vulnerable) Quantum->Weak Quadratic Speedup Strong 128-bit Security (Safe) Quantum->Strong Quadratic Speedup

Post-Quantum Cryptography: The New Toolbox

  • The Objective: Proactively replace vulnerable public-key systems (RSA, ECC) with mathematical problems that resist known quantum algorithms.
  • The Candidates: Emerging standards rely on entirely new math, primarily lattice-based, code-based, hash-based, and multivariate cryptography.
  • The Replacements: NIST is actively standardizing new algorithms specifically for Key Encapsulation Mechanisms (KEMs) and Digital Signatures.
  • The Engineering Trade-offs: There is no free lunch. PQC algorithms typically demand significantly larger key sizes, bulkier signatures, or heavier computation than modern ECC.

Lattices: Intuition Without the Math

  • A lattice is a complex, repeating, high-dimensional grid of points generated by a set of basis vectors.
  • Mathematical challenges like finding the closest point (Shortest Vector Problem - SVP) or solving linear equations with intentional noise (Learning With Errors - LWE) are astronomically difficult to solve at large dimensions.
  • The PQC Foundation: Unlike factoring (RSA), no efficient quantum algorithm exists to solve these lattice problems, making them the primary foundation for post-quantum encryption, signatures, and key encapsulation (KEMs).

Lattices cluster_problems Hard Math Problems Basis Basis Vectors (v₁, v₂, ...) Grid High-Dimensional Lattice Grid Basis->Grid SVP Shortest Vector Problem (SVP) Grid->SVP LWE Learning With Errors (LWE) Grid->LWE PQC Post-Quantum Encryption & Signatures SVP->PQC Quantum Resistant LWE->PQC Quantum Resistant

PQC Migration in Blockchain Systems

  • The Targets (Where to upgrade): Public keys are exposed in wallets, consensus validators, cross-chain bridges, and light clients. These are the primary targets for migration.
  • The Strategy (How to upgrade): Deploy hybrid signatures (combining classical algorithms like ECDSA with a PQC algorithm) and introduce new address versions to allow a gradual, opt-in rollover without breaking legacy systems.
  • The Engineering Challenges: PQC algorithms typically require significantly larger key sizes and higher computational verification costs. In blockchains, this directly translates to larger block sizes, higher transaction fees, and increased user experience complexity.

Fully Homomorphic Encryption (FHE)

  • The Concept: FHE enables systems to perform arbitrary computations directly on encrypted data without ever needing a decryption key.
  • The Mechanism: When the owner decrypts the final ciphertext, the result perfectly matches the computation as if it had been performed on the plaintext.
  • The Mathematical Breakthrough: While theorized in 1978, Craig Gentry’s 2009 breakthrough used lattice-based cryptography and bootstrapping (a method to “clean” computational noise from ciphertexts) to make unlimited homomorphic operations possible.
  • Blockchain Relevance: FHE is the key to confidential smart contracts. It allows decentralized nodes to execute complex contract logic over entirely encrypted user data and account states, providing total privacy on a public ledger.

FHE at a Glance

  • Privacy by design: the server computes entirely on ciphertexts — it never sees any plaintext.
  • Correctness: Dec(Eval(f, Enc(x))) = f(x) — the math guarantees the right answer.
  • Bootstrapping: periodically refreshes noisy ciphertexts so unlimited operations remain possible.
  • Trade‑off: heavy computation and memory cost, improving with optimization and hardware support.

FHE cluster_server Untrusted Server / Cloud cluster_owner Data Owner P Plaintext x1, x2, ... Enc Encrypt Enc(xi, pk) P->Enc plaintext K Secret Key (decrypt only) Dec Decrypt Dec(c, sk) K->Dec only owner holds key R Plain Result f(x1, x2, ...) C Ciphertexts Enc(x1), Enc(x2), ... Enc->C send ciphertext (server never sees x) Ev Homomorphic Eval f(Enc(x1), Enc(x2), ...) adds, multiplies on ciphertexts C->Ev Bs Bootstrapping (noise refresh) Bs->Ev periodic noise reset C2 Encrypted Result Enc(f(x)) Ev->C2 Enc(f(x)) C2->Dec return result Dec->R decrypts correctly

Zero‑Knowledge Proofs: Prove Without Revealing

  • Completeness: if the statement is true, an honest prover can always convince a verifier.
  • Soundness: a cheating prover cannot convince the verifier of a false statement (except with negligible probability).
  • Zero‑knowledge: the verifier learns nothing beyond the truth of the statement — no secrets, no witnesses.
  • Interactive vs. non‑interactive: classical ZK requires back-and-forth challenges; SNARKs/STARKs collapse this into a single short proof verifiable by anyone.
  • Blockchain relevance: ZK rollups (e.g., zkSync, StarkNet) use succinct proofs to compress thousands of transactions into one on-chain verification, preserving both scalability and correctness.

Ali Baba Cave: The Protocol

AliBabaCave cluster_cave The Cave cluster_proto One Round (repeat n times) ENT Entrance (Verifier waits here) PA Path A ENT->PA go left PB Path B ENT->PB go right S1 Step 1: Prover enters, chooses A or B Verifier looks away ENT->S1 prover enters DOOR Secret Door password-gated (only Prover knows) PA->DOOR dead end without password PB->DOOR dead end without password S2 Step 2: Verifier shouts "Exit from A!" or "Exit from B!" S1->S2 S3K Prover KNOWS secret Use door if needed Always exits correctly S2->S3K if knows S3N Prover does NOT know Can only exit from the side they entered 50% chance of failure S2->S3N if bluffing RESULT After n rounds: P(undetected cheating) = (1/2)^n Verifier is convinced, yet learned zero about the password S3K->RESULT S3N->RESULT

  • Key insight: if Prover can always exit from the called side, they must know the secret. After 30 rounds the probability of successful deception is less than 1 in a billion.
  • Digital analogy: replace the cave with a hash function or elliptic‑curve relation; replace shouting with a random challenge bit.

Zero‑Knowledge in Blockchain Practice

  • Privacy — shielded transactions: protocols like Zcash use zk-SNARKs to prove that a transaction is valid (inputs balance outputs, sender is authorized) without revealing sender, receiver, or amount on-chain.
  • Privacy — selective disclosure: a user can prove a single attribute (“my balance exceeds $X”, “I am over 18”) derived from a private credential, sharing nothing else — enabled by ZK circuits over committed values.
  • Scalability — ZK rollups: zkSync, StarkNet, and Polygon zkEVM batch thousands of transactions off-chain, then post a single succinct validity proof on Ethereum. Verification costs roughly the same gas regardless of batch size, dramatically cutting per-transaction fees.
  • Scalability — light clients: a ZK proof of the chain’s consensus state lets a mobile wallet verify the latest block header without downloading the full chain history.
  • Compliance — private audits: a business can prove to a regulator that all transactions satisfy AML/KYC rules without exposing counterparties or amounts, satisfying legal obligations while preserving commercial confidentiality.

When Good Crypto Goes Bad: Milk Sad (CVE-2023-39910)

  • Rule one: never substitute a general-purpose PRNG for a cryptographically secure one — the resulting key space is trivially brute-forceable.
  • What happened: Libbitcoin Explorer’s bx seed command used std::mt19937 (Mersenne Twister) seeded with only 32 bits from the system clock to generate 256-bit wallet seeds.
  • Consequence: users believed they had 2²⁵⁶ possible keys; in reality they had only ~4.3 billion (2³²) — enumerable in days on commodity hardware.
  • Impact (July 2023): attackers swept 2,600+ wallets across Bitcoin, Ethereum, Solana, and others; approximately $900,000 in losses in a single coordinated campaign.
  • Root cause: CWE-338 — wrong tool, wrong context. mt19937 is designed for simulations, not secrets.
  • Lessons: use OS-provided CSPRNGs (/dev/urandom, getrandom(), BCryptGenRandom); treat key generation as a security boundary, not a convenience call; use audited libraries (libsodium, OpenSSL) that make the secure choice by default.

Case Study: Linux.Encoder RNG Failure

  • What it was: Linux.Encoder.1 (2015) — ransomware that encrypted web servers using AES keys derived from srand(time()), a clock-seeded PRNG with no real entropy.
  • Why it collapsed: file modification timestamps narrowed the candidate seed to a few seconds; Bitdefender brute-forced it and released a free decryptor within days — without ever touching AES.
  • The “fix” that wasn’t: a patched version iterated srand(h(h(...h(time())...))). Hashing a weak seed does not add entropy — it only obscures a still-guessable value.
  • Blockchain relevance: smart contract randomness faces the same trap. block.timestamp, blockhash, or miner-controlled fields are observable and manipulable — using them as entropy sources for key generation, lotteries, or NFT reveals repeats this exact mistake on a public ledger.
  • Root cause: CWE-335. The cipher was sound; the entropy feeding it was not. Use /dev/urandom, getrandom(), or a verifiable on-chain randomness oracle (e.g., Chainlink VRF).

Case Study: CryptoDefense — Keys Left in Plain Sight

  • What it was: CryptoDefense (2014) — Windows ransomware that correctly used RSA-2048 to encrypt victim files, then demanded payment for the decryption key.
  • The mistake: the authors called the Windows CryptoAPI without understanding it. CryptGenKey stores generated keys in the user’s own key store under %AppData%\Microsoft\Crypto\RSA — fully accessible to the victim. The private key needed to decrypt was sitting on the machine the whole time.
  • Root cause: correct algorithm, catastrophic key handling. Strong math is irrelevant if the private key is not protected.
  • Blockchain relevance: this failure class is the leading cause of cryptocurrency losses. Exchange hot wallets storing private keys on internet-connected servers, developers hardcoding keys in deployed contracts, and users keeping seed phrases in plaintext cloud documents are all the same mistake — the cryptography is sound but the key boundary is not defended.
  • Lesson: treat private keys as the single most sensitive asset in any system. Use hardware security modules (HSMs), hardware wallets, or OS-protected keystores; never leave keys reachable by an adversary who has already compromised the adjacent environment.

Putting It Together: Threats and Responses

ThreatResponse C1 Hash collisions (SHA-1 / MD5 broken) P1 Collision and pre-image resistance C1->P1 C2 Quantum computing (Shor / Grover) P2 Factoring and discrete-log hardness C2->P2 C3 Confidentiality on public ledgers P3 Data confidentiality C3->P3 C4 Verifiable computation without disclosure P4 Soundness plus zero-knowledge C4->P4 C5 Implementation failures (RNG, key handling) P5 Key secrecy and entropy quality C5->P5 R1 Hash agility (SHA-3, BLAKE3) P1->R1 R2 Post-quantum crypto (CRYSTALS-Kyber/Dilithium) P2->R2 R3 FHE and ZK proofs (confidential contracts) P3->R3 R4 SNARKs / STARKs (ZK rollups, private audits) P4->R4 R5 CSPRNGs, HSMs Audited libraries P5->R5

Key Takeaways

  • Assumptions age—design for cryptographic agility.
  • Prepare for quantum: adopt PQC and strengthen symmetric parameters.
  • Leverage privacy tools: FHE and ZK are moving from theory to practice.
  • Avoid DIY: sound hygiene beats clever hacks.

References

[1]
J. Katz and Y. Lindell, Introduction to Modern Cryptography, 3rd ed. Chapman and Hall/CRC, 2020. doi: 10.1201/9781351133036.
[2]
A. J. Menezes, P. C. van Oorschot, and S. A. Vanstone, “Handbook of Applied Cryptography.” CRC Press, Aug. 07, 2011. Accessed: Oct. 23, 2025. [Online]. Available: https://cacr.uwaterloo.ca/hac/