Matemáticamente se deriva de la clave privada: un punto de la curva Q = d·G en ECDSA y ECDH, un punto codificado de 32 bytes en Ed25519 y X25519, el módulo y el exponente (n, e) en RSA, y una semilla de matriz más un vector en ML-KEM y ML-DSA. Los tamaños van de 32 bytes (Ed25519) y 33/65 bytes (P-256 comprimida/sin comprimir) a 294 bytes (RSA-2048 como SubjectPublicKeyInfo DER) y de 1312 a 2592 bytes (ML-DSA).
Contenedores habituales: SubjectPublicKeyInfo en DER o PEM (-----BEGIN PUBLIC KEY-----), el antiguo RSAPublicKey de PKCS #1 (BEGIN RSA PUBLIC KEY), JWK (kty, crv, x, y o n, e), el formato de una línea de OpenSSH (ssh-ed25519 AAAA…), COSE_Key en WebAuthn, los paquetes de clave de OpenPGP y las direcciones de blockchain, que son hashes de claves públicas.
Una clave pública no lleva ninguna identidad. La confianza viene de un vínculo: un certificado firmado por una CA, un JWKS obtenido por HTTPS del emisor, una entrada de known_hosts, una huella digital fijada o una dirección en la cadena. Valida las claves que recibes de otros (pertenencia a la curva, tamaño, tipo) antes de usarlas.