Saltar al contenido
🛠️ToolsShed

PGP Key Generator

Genera pares de claves OpenPGP RSA o ECC para encriptación de correo y firmas digitales.

Nota: Las claves se generan usando Web Crypto API en tu navegador. Las claves están en formato PKCS8/SPKI PEM. Usa GPG para convertirlas a formato OpenPGP si es necesario.

Acerca de esta herramienta

PGP (Pretty Good Privacy) es un sistema criptográfico que permite cifrado de correo electrónico seguro y firmas digitales usando criptografía de clave pública. Inventado por Phil Zimmermann en 1991, se ha convertido en el estándar para comunicación cifrada de extremo a extremo en toda la red. PGP es esencial para periodistas, activistas, profesionales empresariales y cualquiera que necesite proteger información sensible de interceptación. A diferencia de los sistemas de seguridad centralizados, PGP te da control total sobre tus claves de cifrado, asegurando que solo tú y tus destinatarios previstos puedan leer tus mensajes.

Para usar este generador de claves PGP, elige tu tipo de clave (RSA 2048/4096 o ECC Curve25519) e ingresa tu nombre y dirección de correo electrónico. La herramienta genera una clave pública para compartir con otros y una clave privada que debes mantener segura y confidencial. Una vez generadas, puedes importar tus claves en software compatible con PGP como GPG, Thunderbird con Enigmail o Kleopatra, luego usarlas para cifrar correos, firmar documentos y autenticar comunicaciones digitales. También puedes cargar tu clave pública en un servidor de claves como keys.openpgp.org para que otros puedan encontrarte fácilmente y enviarte mensajes cifrados.

Al generar tus claves, protege tu clave privada con una frase de paso fuerte—esto añade una segunda capa crítica de seguridad. Las claves ECC ofrecen operaciones más rápidas y tamaños de archivo más pequeños comparados con RSA, lo que las hace ideales para sistemas modernos, mientras que RSA-4096 proporciona un margen de seguridad adicional si manejas datos altamente sensibles. Recuerda que la generación de claves basada en navegador, aunque conveniente y segura para la mayoría de usuarios, tiene limitaciones; para máxima seguridad en entornos de alto riesgo, considera generar claves offline con GPG. Ya sea que estés comenzando con comunicación cifrada o administrando la seguridad en toda la empresa, esta herramienta simplifica el proceso de generación de claves en un flujo de trabajo rápido y directo.

Preguntas Frecuentes

Implementación de Código

# pip install pgpy
import pgpy
from pgpy.constants import PubKeyAlgorithm, KeyFlags, HashAlgorithm, SymmetricKeyAlgorithm, CompressionAlgorithm

def generate_pgp_keypair(name: str, email: str, passphrase: str = None):
    """Generate an RSA PGP keypair."""
    key = pgpy.PGPKey.new(PubKeyAlgorithm.RSAEncryptOrSign, 4096)
    uid = pgpy.PGPUID.new(name, email=email)
    key.add_uid(
        uid,
        usage={KeyFlags.Sign, KeyFlags.EncryptCommunications},
        hashes=[HashAlgorithm.SHA512, HashAlgorithm.SHA256],
        ciphers=[SymmetricKeyAlgorithm.AES256],
        compression=[CompressionAlgorithm.ZLIB],
    )

    if passphrase:
        key.protect(passphrase, SymmetricKeyAlgorithm.AES256, HashAlgorithm.SHA256)

    public_key = str(key.pubkey)
    private_key = str(key)

    return public_key, private_key

# Generate a keypair
pub, priv = generate_pgp_keypair("Alice Smith", "alice@example.com", "strongpassphrase")
print("=== PUBLIC KEY ===")
print(pub[:100] + "...")
print("=== PRIVATE KEY ===")
print(priv[:100] + "...")

# Encrypt a message
def encrypt_message(public_key_str: str, message: str) -> str:
    pub_key, _ = pgpy.PGPKey.from_blob(public_key_str)
    pgp_msg = pgpy.PGPMessage.new(message)
    encrypted = pub_key.encrypt(pgp_msg)
    return str(encrypted)

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.