PGP Key Generator
電子メール暗号化とデジタル署名用のRSAまたはECC OpenPGP鍵ペアを生成します。
このツールについて
PGP(Pretty Good Privacy)は公開鍵暗号を使用してセキュアなメール暗号化とデジタル署名を可能にする暗号化システムです。1991年にPhil Zimmermannによって発明され、インターネット全体でのエンドツーエンド暗号化通信の標準となっています。PGPはジャーナリスト、活動家、ビジネスプロフェッショナル、機密情報を傍受から保護する必要があるすべての人にとって不可欠です。一元化されたセキュリティシステムとは異なり、PGPはあなたの暗号化キーの完全な制御を与え、あなたと意図した受信者だけがメッセージを読むことができることを確認します。
このPGP鍵生成ツールを使用するには、鍵の種類(RSA 2048/4096またはECC Curve25519)を選択し、名前とメールアドレスを入力します。ツールは他の人と共有するための公開鍵とセキュアに保つ必要がある秘密鍵を生成します。生成されたら、GPG、EnigmailのあるThunderbird、KleopatraなどのPGP互換ソフトウェアに鍵をインポートし、メールの暗号化、ドキュメントの署名、デジタル通信の認証に使用できます。また、公開鍵をkeys.openpgp.orgなどのキーサーバーにアップロードして、他のユーザーが簡単にあなたを見つけて暗号化メッセージを送信できるようにすることもできます。
鍵を生成する際は、秘密鍵を強力なパスフレーズで保護してください—これはセキュリティの重要な第2層を追加します。ECC鍵はRSAと比較してより高速な操作と小さいファイルサイズを提供し、最新システムに理想的です。一方、RSA-4096は機密性の高いデータを扱う場合に追加のセキュリティマージンを提供します。ブラウザベースの鍵生成はほとんどのユーザーにとって便利で安全ですが、制限があることを覚えておいてください。高脅威環境での最大セキュリティについては、GPGを使用したオフライン鍵生成を検討してください。暗号化通信を初めて使用する場合でも、企業全体のセキュリティを管理する場合でも、このツールは鍵生成プロセスを迅速で簡単なワークフローに簡素化します。
よくある質問
コード実装
# 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.