June 20th, 2024

Reconstructing Public Keys from Signatures

The blog delves into reconstructing public keys from signatures in cryptographic schemes like ECDSA, RSA, Schnorr, and Dilithium. It highlights challenges, design choices, and security considerations, emphasizing the complexity and importance of robust security measures.

Read original articleLink Icon
Reconstructing Public Keys from Signatures

The blog discusses the possibility of reconstructing public keys from signatures in various cryptographic schemes. In ECDSA, it is feasible to recover a public key from a single valid signature by solving equations. For RSA, the process is more complex, requiring two signatures and calculations involving the exponent. Schnorr signatures and Dilithium, a post-quantum scheme, also present challenges in recovering public keys due to specific design choices. SPHINCS+ and Unbalanced Oil and Vinegar schemes are explored, highlighting how public key recovery varies across different signature schemes. The blog emphasizes the importance of considering side-channel attacks and resilience in protocol design, as adversaries may exploit vulnerabilities to recover public keys. Overall, the discussion underscores the intricate nature of public key recovery in cryptographic systems and the need for robust security measures.

Related

Simple ways to find exposed sensitive information

Simple ways to find exposed sensitive information

Various methods to find exposed sensitive information are discussed, including search engine dorking, Github searches, and PublicWWW for hardcoded API keys. Risks of misconfigured AWS S3 buckets are highlighted, stressing data confidentiality.

Hacking eInk Price Tags (2021)

Hacking eInk Price Tags (2021)

Hackers repurpose eInk electronic shelf labels (ESLs) into photo frames or status displays by customizing firmware. Detailed exploration of hacking challenges, including Marvell chip analysis, bootloader functions, memory storage, communication protocols, and debugging methods.

Vulnerability in Popular PC and Server Firmware

Vulnerability in Popular PC and Server Firmware

Eclypsium found a critical vulnerability (CVE-2024-0762) in Intel Core processors' Phoenix SecureCore UEFI firmware, potentially enabling privilege escalation and persistent attacks. Lenovo issued BIOS updates, emphasizing the significance of supply chain security.

Asynchronous Consensus Without Trusted Setup or Public-Key Cryptography

Asynchronous Consensus Without Trusted Setup or Public-Key Cryptography

Researchers propose an Asynchronous Common Subset (ACS) protocol for Byzantine consensus without trusted setup or public-key cryptography. The protocol uses hash functions, offers post-quantum security, and introduces new primitives. Efficiently evaluated in a geo-distributed setting.

XZ backdoor: Hook analysis

XZ backdoor: Hook analysis

Kaspersky experts analyzed the XZ backdoor in OpenSSH 9.7p1, revealing hidden connections, SSH authentication bypass, and remote code execution capabilities. The backdoor manipulates RSA keys, uses steganography, and executes commands.

Link Icon 4 comments
By @James_K - 4 months
> A rather delightful property if you want to attack anonymity in some proposed “everybody just uses cryptographic signatures for everything” scheme.

I don't follow. Surely the entire point of a public key is that it's public, and the point of signatures is to show that something belongs to you. An anonymous signature makes no sense, because signing something is putting your name on it. If you wanted to be anonymous in the sense that your public key cannot be recovered from a message, you wouldn't sign the message.

By @killerstorm - 4 months
Fun fact: Ethereum transaction does not include sender's address or pubkey.

It is calculated from the signature.

I'm not sure if Bitcoin can use this trick, at least the classic transaction types explicitly included pubkey.

By @TrailMixRaisin - 4 months
I get this as a hobby but I fail to find any "attack scenarios" where this is relevant. Public keys are the most public thing I can think of. Without a public key you cannot check if a signature is valid. I cannot see any scenario where a person might use its private key to sign something and not wish everybody else to have the corresponding public key to verify it. I wish the author had made some examples when this gets relevant and when I have to design my protocols accordingly.
By @lxgr - 4 months
Is there a name for this property (i.e. a signature scheme only allowing an observer to realize that messages m1 and m2 are signed by the same public key if they know that public key)?

I suppose it's an easy enough property to add to any signature protocol via a designated verifier scheme, and just defining the public key to be a combination of the public signature key and the secret verifier key.

I also wonder whether there is any formal proof (or at least an intuitive argument for why it would be intractable) for the variant of Schnorr signatures mentioned in the article.