SecurityCryptography

XOR Secret Sharing Deep Dive: How ArcSign Protects Your Keys with Information-Theoretic Security

✍️ ArcSign Security Team 📅 April 26, 2026
XOR Secret Sharing Deep Dive: How ArcSign Protects Your Keys with Information-Theoretic Security

Why does private-key protection need “secret sharing”?

Most wallet software encrypts the entire private key with a single password and stores it on disk. This design has a fundamental weakness: the entire key lives in one place, and breaking that one place breaks everything. An attacker only needs to grab the encrypted file and brute-force (or sniff) one password to walk away with everything.

Secret sharing takes a fundamentally different approach: split the secret into N shards, store them separately, and require enough shards to be reunited before the secret can be reconstructed. Until that threshold is met, an attacker holds nothing but apparent random noise. The concept was independently introduced in 1979 by cryptographers George Blakley and Adi Shamir, and it has been the theoretical foundation of serious key protection ever since.

ArcSign uses XOR three-shard secret sharing — the simplest, yet information-theoretically perfect form of secret sharing. This article unpacks the math, walks through ArcSign’s engineering implementation, and compares it head-to-head with Shamir, MPC, and Threshold ECDSA. By the end you’ll see why a deceptively “boring” bitwise operation is enough to anchor an entire cold-wallet security model.

        Two questions we'll answer

(1) Mathematically, why is XOR Secret Sharing unbreakable? (2) Engineering-wise, how does ArcSign turn that theoretical property into a usable cold wallet? Related reading: XOR Three-Shard Encryption Visual Guide (beginner-friendly).

A short history: Blakley, Shamir, and XOR

To appreciate ArcSign’s design choices, it helps to look at how secret sharing evolved.

1979: two cryptographers open a new field — independently

George Blakley took a geometric approach: encode the secret as a point in N-dimensional space, and let each shard be a hyperplane passing through that point. Reconstructing the secret requires K hyperplanes intersecting at a unique solution. Intuitive, but less efficient in practice.

Adi Shamir (later co-inventor of RSA) used algebra: encode the secret as P(0) where P(x) is a polynomial of degree K-1, and let each shard be P(x_i) at a different x_i. Reconstructing the polynomial — and therefore the secret — requires K shards via Lagrange interpolation. This became the famous Shamir Secret Sharing (SSS).

XOR Secret Sharing: older, simpler, equally perfect

XOR Secret Sharing actually predates both: it’s the direct generalization of Vernam’s 1917 One-Time Pad (OTP). The Moscow-Washington Hotline used OTP during the Cold War, and OTP remains the only symmetric cipher that has been formally proven to be information-theoretically secure.

Take any N-1 shards from an N-shard XOR scheme, and you learn precisely zero bits about the original secret. That guarantee is mathematically stronger than what most modern algorithms offer — AES, ECDSA, and SHA-256 are all only computationally secure (resting on assumptions like P≠NP). XOR/OTP is information-theoretically secure, meaning no amount of compute, no quantum breakthrough, no future alien tech, can pry information out of N-1 shards.

SchemeInventor / YearMathematical basisTypical use
One-Time Pad / XORVernam, 1917Bitwise XORMilitary comms, ArcSign cold wallet
BlakleyBlakley, 1979Geometric hyperplanesMostly academic
Shamir Secret SharingShamir, 1979Polynomial interpolation over GF(2^k)SLIP-0039, enterprise key backup
Verifiable Secret SharingChor et al., 1985SSS + commitment schemesBlockchain consensus
MPC / Threshold ECDSA1990s onwardDistributed elliptic-curve signingInstitutional custody, Fireblocks

The math behind XOR Secret Sharing (with the One-Time Pad proof)

Formal definition

Let K be a 256-bit private key. XOR three-shard secret sharing constructs:

            Input
            K (256-bit private key)

            Random
            S1, S2 ∈ {0,1}256 (CSPRNG)

            Compute
            S3 = K ⊕ S1 ⊕ S2

            Reconstruction
            K = S1 ⊕ S2 ⊕ S3 ✓

Information-theoretic security: why any 2 shards leak 0 bits

Suppose an attacker captures S1 and S2. They want to derive K. But they don’t know S3. We can prove that, given S1, S2, every possible 256-bit candidate K’ is equally likely (each K’ corresponds to a uniformly distributed S3).

Formally, the conditional entropy H(K | S1, S2) = H(K) — knowing two shards gives the attacker zero reduction in uncertainty about K. This is the mathematical definition of “information-theoretic security,” matching Shannon’s 1949 proof for the One-Time Pad in Communication Theory of Secrecy Systems.

        Key insight

There are 2256 possible private keys. After capturing 2 shards, an attacker still has 2256 equally plausible candidates. No algorithm can recover the correct key from incomplete shards. That’s a mathematical fact, not an engineering compromise.

A concrete 6-bit example

For intuition, imagine a toy “6-bit private key” with value 42 (binary 101010):

            Private key K
            1 0 1 0 1 0
            (= 42)

            Shard S₁
            1 1 0 1 0 1
            (= 53, CSPRNG)

            Shard S₂
            0 1 1 0 1 1
            (= 27, CSPRNG)

            Shard S₃ = K⊕S₁⊕S₂
            0 0 0 1 0 0
            (= 4)

Verification: 53 ⊕ 27 ⊕ 4 = 42 ✓. Could an attacker holding 53 and 27 derive K? No — because S3 is fully random, every value of K corresponds to a valid S3. Scale up to 256 bits and the candidate space becomes 2256, far beyond the brute-force capacity of all the compute on Earth.

ArcSign’s design choice: why 3-of-3, not a threshold scheme?

Shamir Secret Sharing supports flexible M-of-N thresholds (e.g. 3-of-5: any three shards reconstruct). That sounds more flexible — so why did ArcSign pick the seemingly rigid 3-of-3 XOR? Because the trade-off is deliberate.

1. ArcSign is a single-device cold wallet

All shards live on the same USB and are managed automatically by ArcSign. Users never juggle multiple shards by hand — none of the classic Shamir failure modes apply (“Where did I put the third shard?”, “My friend lost his backup”). In this single-device context, threshold flexibility buys nothing and only enlarges the attack surface.

2. 3-of-3 maximizes entropy left for the attacker

A 2-of-3 scheme would let an attacker reconstruct the key from any 2 shards — mathematically equivalent to halving the work needed to compromise you. 3-of-3 demands all shards present, forcing the attacker to defeat every protection layer simultaneously.

3. Smaller, more auditable attack surface

Shamir Secret Sharing involves polynomial arithmetic over GF(2256) and Lagrange interpolation. Real-world Shamir implementations have shipped bugs around coefficient overflow, weak random coefficients, and timing leaks. XOR is just bitwise XOR — the core logic is simple enough to be audited line-by-line, even formally verified, with virtually no room for implementation error.

4. Cross-device redundancy lives in the .arcsign backup file

Worried about losing the USB? ArcSign exports an .arcsign encrypted backup file, which is encrypted with AES-256-GCM + Argon2id at the moment of export — there is no separate “set a password” step; export means encrypted file, immediately. Copy it to a second USB, a safe-deposit box, or cloud storage. Even if the file leaks, it is unbreakable without your password. This cleanly separates “loss-resistance redundancy” from “shard secret sharing,” whereas Shamir conflates both into one mechanism.

        Design philosophy

ArcSign separates concerns by layering: XOR three-shard sharing handles runtime key protection (memory and disk read attempts); the .arcsign encrypted backup file handles long-term disaster recovery (lost or damaged USB). Each layer does one job cleanly without interfering with the other.

Implementation: CSPRNG, AES, HKDF, mlock — defense in depth

Beautiful theory means nothing if implementation gets sloppy. ArcSign layers multiple defenses:

        1
        CSPRNG: shards must really be random

Generate S1, S2 from the OS cryptographically secure RNG (SecRandomCopyBytes on macOS, getrandom(2) on Linux, BCryptGenRandom on Windows). Weak randomness collapses the entire information-theoretic guarantee.

        2
        AES-256-GCM second encryption

Each XOR shard is encrypted with AES-256-GCM before being written to disk. Even if an attacker bypasses ArcSign and reads bytes off the USB with a hex editor, all they see is ciphertext. This is defense in depth.

        3
        HKDF: each shard derives its own key

The three shards use three different AES keys, each derived from a single master secret via HKDF (HMAC-based Key Derivation Function) with distinct salts. A bug that leaks one key still leaves the other two shards safe.

        4
        mlock locks reconstruction memory

Before reconstructing the key, ArcSign calls mlock(2) on a memory page so it cannot be swapped to disk. The whole XOR + sign + memzero (explicit_bzero or SecureZeroMemory) cycle completes in 1-5 ms, keeping the key’s exposure window absurdly short.

        5
        USB stays offline

All of the above happens locally — shards never leave your USB. Even if your computer is compromised, an attacker still has to land in the millisecond signing window with kernel-level memory access. ArcSign is free software, and your private keys never leave your device.

XOR vs Shamir vs MPC vs Threshold ECDSA

SchemeSecurity modelImplementation complexityBest fitNetwork requiredSigning latency
XOR Secret SharingInformation-theoreticVery low (
        Threat model summary

XOR three-shard sharing raises the bar from “crack one password” to “obtain three independent AES keys + physically possess the USB + breach mlock memory protection.” That’s an order-of-magnitude uplift, not a marginal one. Related reading: What is mlock Memory Protection?, AES-256-GCM + Argon2id Explained.

FAQ

Q: Is XOR Secret Sharing more secure than Shamir Secret Sharing?

Both are perfect secret sharing in the information-theoretic sense — an attacker holding fewer than the threshold number of shares learns zero bits about the secret. The difference is attack surface. Shamir requires polynomial interpolation over GF(2256), with more places implementations can go wrong (coefficient overflow, weak randomness, timing leaks). XOR is just bitwise XOR — its core logic fits in fewer than 100 lines and is much easier to audit or formally verify. For single-device cold storage, XOR’s smaller attack surface wins.

Q: Why does ArcSign use 3-of-3 instead of a threshold scheme like 2-of-3 or 3-of-5?

Because ArcSign is a single-device cold wallet: all shares live on one USB and are managed automatically. 3-of-3 maximizes security — any combination of 2 shares leaks zero bits about the private key (full 256 bits of entropy preserved). Switching to 2-of-3 would actually reduce security: an attacker who captures any 2 shares could reconstruct the key. Cross-device redundancy is handled separately by the .arcsign encrypted backup file.

Q: Is XOR Secret Sharing weaker than MPC?

They solve different problems. MPC suits multi-party scenarios — co-managed treasuries, institutional custody — where the private key never appears in full at any single node, but it requires multiple online nodes and network communication. XOR three-shard sharing suits personal cold storage, where the key only exists for 1-5 ms inside mlock-protected memory during signing. For individual users, XOR is simpler, faster, fully offline, and more practical.

Q: Is it really safe to keep all three shards on one USB?

Yes. Each shard is independently encrypted with AES-256-GCM, with each AES key derived from the master secret via HKDF and a unique salt. To steal the key, an attacker must (1) physically obtain the USB, (2) break ArcSign’s mlock memory protection, and (3) intercept the 1-5 ms signing window. The USB also stays disconnected from the internet, and the .arcsign encrypted backup file provides cross-device redundancy. Layered defense on a single device is actually stronger than splitting shards across people or places, which expands the theft surface.