top of page

The Padlock We Trust: How a Weak Number Shook the Internet's Foundation- the eMudhra incident

Writer: Sathish Kumar
Sathish Kumar
9 hours ago
8 min read

In my previous post on AI architecture and real-world breaches, we explored how complex systems can fail in unexpected ways. But before we even worry about rogue AI agents or flawed models, we have to trust the fundamental plumbing of the internet. Every time you log into your bank or push code, you rely on a tiny padlock icon in your browser.


In mid-October 2026, that foundational trust was severely tested. Eight global intermediate certificates from eMudhra, a major Indian Certificate Authority, were found to have shockingly weak private cryptographic keys. One of these keys, intended to secure global internet traffic, was reportedly just the number '4'.   


To understand how a disaster of this magnitude happens—and how the tech industry scrambled to avert it—we need to start at the very beginning of cryptography.


The Four Pillars of Cryptography

Whether you are looking at ancient Roman history or modern AI datacenter traffic, every encryption process relies on four core elements:


  1. Plain Text: The original, readable data. This could be a general's written orders or a JSON payload containing your credit card details.

  2. Algorithm: The mathematical engine or set of rules used to scramble the data.

  3. Key: The specific secret variable plugged into the algorithm. You can safely change the key without having to change the underlying algorithm.

  4. Cipher Text: The scrambled, unreadable output generated by feeding the plain text and the key into the algorithm.


From Rome to the Internet: The Symmetric Problem

Over two thousand years ago, Julius Caesar needed to send secret messages to his generals. He used a simple substitution method: shift every letter in the alphabet by a certain number (e.g., A becomes D, B becomes E).




This is the earliest known example of Symmetric Cryptography. The rule is simple: the same key used to lock (encrypt) the message is used to unlock (decrypt) it. If the key is a shift of 3, both Caesar and his general need to know the number 3.


Today, symmetric encryption algorithms like AES are incredibly fast and secure, but they have a massive, fundamental flaw when applied to the internet: How do you safely share the secret key?


If you want to buy a smartphone on Amazon, your browser and Amazon's server need to agree on a secret passphrase to encrypt your credit card data. But if you send that passphrase over the open internet for Amazon to read, anyone eavesdropping on the network can read it too.


Asymmetric Cryptography: The Prime Number Magic


To solve the key distribution problem, cryptographers in the 1970s developed Asymmetric Cryptography (also known as Public-Key Cryptography). Instead of one key, you get two mathematically linked keys: a Public Key and a Private Key.

  • Public Key: You can share this with the entire world.

  • Private Key: You keep this an absolute secret.

The magic lies in modular arithmetic of prime numbers. Without diving too deep into the math, computers take two massive prime numbers and multiply them together. Figuring out those original prime numbers from the massive result is mathematically unfeasible for modern computers.


Because of this math, data encrypted with your Public Key can only be decrypted by your Private Key. Furthermore, if you "sign" data with your Private Key, anyone can use your Public Key to verify that it definitely came from you.


Hiding vs. Proving: Encryption and Authentication





A common misconception is that cryptography is only about keeping secrets (Encryption). In reality, it is equally about Authentication—proving identity and ensuring data integrity.

While Encryption provides confidentiality, Authentication ensures that a message hasn't been tampered with and truly came from the claimed sender. We achieve this using Hashing Algorithms like SHA-256. A hashing algorithm takes plain text of any size and crushes it into a fixed-length string of characters (a hash). This acts as a digital fingerprint.


However, a hash alone proves nothing about who sent a message, because anyone can run a file through an algorithm to compute a hash. To prove identity, we must combine hashing with asymmetric cryptography to create a Digital Signature.


The Digital Signature: Marrying Hashes and Keys


A digital signature is the mathematical equivalent of a wax seal on a letter, but vastly more secure. By encrypting the document's hash with your Private Key, you bind your unique identity to that specific version of the document. The private-key signature is what ties the fingerprint to a specific sender.

Here is how the digital signature process guarantees authenticity:

Sender side

  1. Message: The plain text is Pay Sathish 1000 rupees. It is not hidden or encrypted, and anyone who intercepts it can read it.

  2. SHA-256: The message is squeezed into a fixed-length fingerprint. For this exact text, the hash is a872d2ee…c615de, and it is always 64 hex characters however long the message is.

  3. Sign with the private key: The sender locks that hash with their private key, which only they hold. The locked result is the signature.

  4. Send: The message and the signature travel together across the network.

Receiver side (the bank)

  1. Fresh hash: The bank runs SHA-256 on the message exactly as it arrived. If nothing changed, it gets a872d2ee…c615de again.

  2. Verify with the public key: The bank unlocks the signature using the sender’s public key, which anyone may have. This recovers the hash the sender originally signed. It only works if the signature was made with the matching private key.

  3. Compare: If the fresh hash and the recovered hash are identical, the bank knows two things. The message is unaltered, and it was signed by the owner of that key.


The Chain of Trust: Certificates and PKI


Digital signatures flawlessly solve the problem of verifying a message, but they introduce a critical new vulnerability.


Suppose your browser connects to your bank, and the bank hands over its Public Key so you can verify its digital signatures. How does your browser know that this Public Key actually  belongs to the bank, and not to a hacker sitting in a coffee shop intercepting your Wi-Fi connection? If a hacker feeds you their own Public Key and claims to be the bank, the math will still perfectly validate their forged signatures.



Enter the Public Key Infrastructure (PKI) and the Certificate Authority (CA).



A CA acts like a digital passport office. Highly trusted third-party organizations (like eMudhra, DigiCert, or Let's Encrypt) rigorously verify a company's corporate identity. Once verified, the CA uses its own Private Key to digitally sign the bank's Public Key. This mathematically signed package is called a Digital Certificate.


To scale this system globally, the internet relies on a strict CA Hierarchy:

  1. Root CAs: The absolute peak of trust. Their certificates are hardcoded directly into operating systems and browsers by companies like Apple, Microsoft, Google, and Mozilla.

  2. Intermediate CAs: Because a Root CA's private key is too valuable to use for daily operations, it is kept securely offline. Instead, the Root CA signs an Intermediate CA, which then handles the daily task of signing actual end-user website certificates.


When you visit a website, your browser checks the site's certificate. It verifies the digital signature of the Intermediate CA, tracing the cryptographic math all the way back to the trusted Root CA pre-installed on your computer. If the math checks out, you get the padlock.


The eMudhra Incident: A Ceremony Gone Wrong


Because a CA's Private Key is the master stamp for the internet, generating a new one is treated like a state secret. It is conducted in a highly scripted event called a Key Generation Ceremony. Multiple trusted individuals gather in a secure, offline vault to use a Hardware Security Module (HSM)—a tamper-proof physical computing device designed specifically to generate cryptographic keys with extreme randomness.


Note: AI generated image


According to eMudhra's official incident report and a technical advisory from CERT-In, something went catastrophically wrong during an April 30, 2025 ceremony.


A procedural flaw occurred during a "key wrap/unwrap" step—the process of packaging a newly generated key for secure transfer. This flaw produced a second set of keys alongside the intended strong ones. According to CERT-In, these keys severely lacked cryptographic randomness. Mistakenly, it was this weak set that was published to the global browser root stores.


The Devastating Danger to End Users


The affected private keys were so tiny (one was reportedly just the number '4') that security researchers could instantly reverse-engineer them just by looking at the public certificates.

If a malicious actor had discovered this first, the consequences would have been catastrophic. Holding the private key of an Intermediate CA allows an attacker to impersonate the Root CA's ultimate authority. They could set up a fake website—say, login.yourbank.com—intercept your network traffic in a Man-in-the-Middle (MitM) attack, and issue themselves a perfectly valid certificate. Your browser would display the trusted padlock, completely bypassing security warnings, and allowing the attacker to effortlessly steal your banking credentials.


Note: eMudhra and government officials confirmed that their domestic Indian Digital Signature Certificate (DSC) and eSign services—which power systems like Aadhaar and income tax portals—remained on separate, unaffected infrastructure, according to eMudhra's official incident report and the CERT-In advisory


The Fallout and How Browsers Responded


An independent researcher discovered the flaw and responsibly disclosed it in mid-October 2026. The response from the global tech ecosystem was immediate to protect end users. Within hours:

  • Google Chrome pushed an emergency CRLSet update to block the intermediates.

  • Mozilla Firefox blocked the certificates via OneCRL.

  • Microsoft and Apple swiftly removed trust for the affected certificates deep within their operating systems.

eMudhra officially revoked all eight certificates with the reason caCompromise. Following a nearly 40% drop in its stock price over two days, the company announced its strategic decision to shut down its global SSL/TLS certificate business entirely. The Aftermath: Market Crash and Business Exit

The market reaction to the disclosure was severe and immediate. Following the public revelation of the vulnerability, eMudhra's shares plunged nearly 40% in just two days, bringing the stock close to its 52-week low.


In response to the crisis, intense social media scrutiny, and a formal probe initiated by the Ministry of Electronics and Information Technology (MeitY), eMudhra's board made a drastic strategic decision. On October 22, 2026, the company officially announced via a BSE filing that it is completely withdrawing from the global SSL/TLS certificate business. Chairman V. Srinivasan explained in the press release that while the global TLS segment contributed only about 1% to their total revenue, the complexity, compliance costs, and disproportionate reputational risk made it unviable to continue. eMudhra will now shift its focus entirely to its core enterprise solutions and unaffected domestic trust services.


What Software Companies Must Do Now

While web browsers update their revocation lists automatically, backend servers, custom software pipelines, and autonomous AI agents do not. Many programming languages bundle their own certificate trust stores rather than relying on the host operating system. If your backend connects to external APIs, it might still blindly trust a forged eMudhra certificate.

Immediate Patching Checklist:

  • Python: If your environment uses the certifi package for HTTPS requests, you must update to certifi>=2026.10.19 to remove the compromised roots.

  • Go (Golang): Unlike languages that rely on system libraries, the Go runtime implements its own X.509 chain verification. Upgrade your environments immediately to Go 1.26.10 or 1.27.3 (tracked under GO-2026-6809 and CVE-2026-111943).

  • Java: Update your JDK environments to mitigate CVE-2026-91403, which tracks the trust store updates necessary in the Java ecosystem.

  • OS Level: Rebuild your Docker containers and base Linux images to ensure the ca-certificates packages are updated to the latest patched versions (Red Hat tracks this internally under CVE-2026-114406).


We navigate the digital world relying on an invisible foundation of mathematical trust, assuming the browser padlock is infallible. However, the eMudhra crisis proves that our most critical infrastructure is only as secure as the human ceremonies that generate it, demanding relentless, independent validation rather than blind faith. #eMudhra #Vulnerability #InfoSec #DigitalCertificates #Cybersecurity matters #Python #Golang #DevOps #SoftwareEngineering #PKI #sysspace.net

 
 
 

Recent Posts

See All

Comments


Never Miss a Post. Subscribe Now!

Thanks for Subscribing!

© 2020 Sathish Kumar Srinivasan

bottom of page