Pular para o conteúdo
🛠️ToolsShed

PGP Key Generator

Gere pares de chaves OpenPGP RSA ou ECC para criptografia de email e assinaturas digitais.

Nota: As chaves são geradas usando Web Crypto API no seu navegador. As chaves estão em formato PEM PKCS8/SPKI. Use GPG para converter para formato OpenPGP, se necessário.

Sobre esta ferramenta

PGP (Pretty Good Privacy) é um sistema criptográfico que permite criptografia segura de email e assinaturas digitais usando criptografia de chave pública. Inventado por Phil Zimmermann em 1991, tornou-se o padrão para comunicação criptografada de ponta a ponta em toda a internet. PGP é essencial para jornalistas, ativistas, profissionais de negócios e qualquer pessoa que precise proteger informações sensíveis de interceptação. Diferentemente dos sistemas de segurança centralizados, PGP lhe dá controle total sobre suas chaves de criptografia, garantindo que apenas você e seus destinatários pretendidos possam ler suas mensagens.

Para usar este gerador de chaves PGP, escolha seu tipo de chave (RSA 2048/4096 ou ECC Curve25519) e insira seu nome e endereço de email. A ferramenta gera uma chave pública para compartilhar com outros e uma chave privada que você deve manter segura e confidencial. Uma vez geradas, você pode importar suas chaves em software compatível com PGP como GPG, Thunderbird com Enigmail ou Kleopatra, depois usá-las para criptografar emails, assinar documentos e autenticar comunicações digitais. Você também pode carregar sua chave pública em um servidor de chaves como keys.openpgp.org para que outros possam encontrá-lo facilmente e enviar mensagens criptografadas.

Ao gerar suas chaves, proteja sua chave privada com uma frase secreta forte—isso adiciona uma segunda camada crítica de segurança. As chaves ECC oferecem operações mais rápidas e tamanhos de arquivo menores comparados a RSA, tornando-as ideais para sistemas modernos, enquanto RSA-4096 fornece uma margem de segurança adicional se você estiver lidando com dados altamente sensíveis. Lembre-se que a geração de chaves baseada em navegador, embora conveniente e segura para a maioria dos usuários, tem limitações; para máxima segurança em ambientes de alto risco, considere gerar chaves offline com GPG. Quer você esteja começando com comunicação criptografada ou gerenciando segurança em toda a empresa, esta ferramenta simplifica o processo de geração de chaves em um fluxo de trabalho rápido e direto.

Perguntas Frequentes

Implementação 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.