Cryptographic Identity
Public-key cryptography
Section titled “Public-key cryptography”Imagine a special lock with two keys: one that only locks (the private key) and one that only unlocks (the public key). Anyone can verify a locked message with the public key, but only the holder of the private key could have locked it.
In cryptography, “locking” is called signing and “unlocking” is called verifying.
From private key to node identity
Click each element to see how keypair generation produces your unforgeable identity.
The math is one-way: you cannot derive the private key from the public key. This is the elliptic curve discrete logarithm problem.
secp256k1
Section titled “secp256k1”Froglet uses the secp256k1 elliptic curve — the same curve used by Bitcoin, Ethereum, and Nostr. The math works on a curve defined by:
where
A private key is a random 256-bit number (32 bytes). The corresponding public key is a point on this curve computed by multiplying the curve’s generator point
This multiplication is easy to compute but practically impossible to reverse — you cannot derive
BIP340 Schnorr signatures
Section titled “BIP340 Schnorr signatures”Froglet uses BIP340 Schnorr signatures (the same as Nostr). To sign a message
- Pick a random nonce
- Compute
(nonce point) - Compute
(challenge) - Compute
(response) - The signature is
— 64 bytes
To verify: check that
Identity in froglet
Section titled “Identity in froglet”Your identity is your 32-byte x-only public key, encoded as a 64-character lowercase hex string:
Private key (secret, never shared): e3b0c44298fc1c149afbf4c8996fb924...
Public key / node_id (your identity): 02a8d6c7f8e94b3d1f2c5a6b7e8d9f0a...
Signature (64 bytes): a1b2c3d4e5f6...Every artifact you produce is signed with your private key. Anyone can verify you produced it. Nobody can forge it.
Nostr linked identities
Section titled “Nostr linked identities”Froglet supports linking your node identity to a Nostr public key. Nostr uses the same secp256k1 curve, so a froglet node can prove it controls a Nostr identity by cross-signing. This creates an immutable, publicly verifiable identity — published to Nostr relays where it cannot be altered or deleted by any central party.