Cryptographic Identity
Public-key cryptography
Section titled “Public-key cryptography”A private key creates a digital signature. The matching public key lets someone check that signature and detect changes to the signed message.
Signing does not encrypt a message or make it private. A valid signature is evidence of control of the signing key, not proof of a person’s name, honesty, or the truth of the message.
From private key to node identity
Click each element to see how a secret key produces a public node identifier.
A securely generated secret in the valid secp256k1 key range, encoded in 32 bytes. Used to sign artifacts. Keep it private.
Recovering the secret from the public key is considered computationally infeasible under the curve’s security assumptions.
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 securely generated integer in the curve’s valid secret-key range, encoded in 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, with 32-byte x-only public keys and
64-byte signatures. The verification relationship is
Froglet’s kernel specification defines the exact artifact bytes to sign; the conformance vectors check interoperability.
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): 32 secret bytes in the valid key range
Public key / node_id (your identity): 64 lowercase hexadecimal characters
Signature (64 bytes): 128 lowercase hexadecimal charactersSigned protocol artifacts can be checked against the claimed public key. The same key means the same signing identity, not necessarily the same person: keys can be shared, delegated, or stolen. Protect the private key accordingly.
Nostr linked identities
Section titled “Nostr linked identities”Froglet can link a separate Nostr publication key in its signed descriptor. The descriptor and the Nostr event have their own signatures; verifiers check the relationship between them. Publication makes this evidence discoverable, but does not guarantee permanent storage. Relays can reject events or discard older replaceable events under Nostr’s event rules.