Lewati ke konten
🛠️ToolsShed

PGP Key Generator

Hasilkan pasangan kunci OpenPGP RSA atau ECC untuk enkripsi email dan tanda tangan digital.

Catatan: Kunci dibuat menggunakan Web Crypto API di browser Anda. Kunci dalam format PKCS8/SPKI PEM. Gunakan GPG untuk mengonversi ke format OpenPGP jika diperlukan.

Tentang alat ini

PGP (Pretty Good Privacy) adalah sistem kriptografi yang memungkinkan enkripsi email yang aman dan tanda tangan digital menggunakan kriptografi kunci publik. Diciptakan oleh Phil Zimmermann pada tahun 1991, PGP telah menjadi standar untuk komunikasi terenkripsi ujung ke ujung di seluruh internet. PGP sangat penting bagi jurnalis, aktivis, profesional bisnis, dan siapa pun yang perlu melindungi informasi sensitif dari intersepsi. Tidak seperti sistem keamanan terpusat, PGP memberi Anda kontrol penuh atas kunci enkripsi Anda, memastikan bahwa hanya Anda dan penerima yang dimaksud dapat membaca pesan Anda.

Untuk menggunakan pembuat kunci PGP ini, pilih jenis kunci Anda (RSA 2048/4096 atau ECC Curve25519) dan masukkan nama serta alamat email Anda. Alat ini menghasilkan kunci publik untuk dibagikan dengan orang lain dan kunci pribadi yang harus Anda jaga dengan aman dan rahasia. Setelah dibuat, Anda dapat mengimpor kunci ke perangkat lunak yang kompatibel dengan PGP seperti GPG, Thunderbird dengan Enigmail, atau Kleopatra, kemudian menggunakannya untuk mengenkripsi email, menandatangani dokumen, dan mengautentikasi komunikasi digital. Anda juga dapat mengunggah kunci publik Anda ke server kunci seperti keys.openpgp.org sehingga orang lain dapat dengan mudah menemukan Anda dan mengirim pesan terenkripsi.

Saat membuat kunci, lindungi kunci pribadi Anda dengan passphrase yang kuat—ini menambah lapisan keamanan kedua yang kritis. Kunci ECC menawarkan operasi yang lebih cepat dan ukuran file yang lebih kecil dibandingkan RSA, menjadikannya ideal untuk sistem modern, sedangkan RSA-4096 memberikan margin keamanan tambahan jika Anda menangani data yang sangat sensitif. Ingat bahwa pembuatan kunci berbasis browser, meskipun nyaman dan aman bagi sebagian besar pengguna, memiliki keterbatasan; untuk keamanan maksimal di lingkungan berisiko tinggi, pertimbangkan pembuatan kunci offline dengan GPG. Baik Anda baru memulai dengan komunikasi terenkripsi atau mengelola keamanan skala perusahaan, alat ini menyederhanakan proses pembuatan kunci menjadi alur kerja yang cepat dan mudah.

Pertanyaan yang Sering Diajukan

Implementasi Kode

# 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.