暗号化と署名を分ける
受信者の公開鍵で短いテキストを暗号化し、受信者の秘密鍵で復号します。これは作成者を証明しません。
正確なメッセージを秘密鍵で署名し、対応する公開鍵で検証します。有効な署名はメッセージを隠しません。
鍵の境界を守る
生成される公開鍵は PEM SubjectPublicKeyInfo、秘密鍵は PEM PKCS#8 です。公開鍵だけを配布し、秘密鍵をチャット、チケット、コード、画像、共有ファイルに置きません。
操作はサーバーリクエストです。保存・ログ出力されないとされても、テスト鍵とテストデータだけを使います。
パラメータを一致させる
暗号化は既定の OAEP SHA-256、OAEP SHA-1、PKCS#1 v1.5 を提供します。互換なら OAEP SHA-256 を使い、両側で同じ padding にします。
署名と検証では同じ SHA-256、SHA-384、SHA-512 with RSA を選びます。テキスト、UTF-8、改行、空白も同一である必要があります。
RSA は短いペイロード用
リクエストは2,000文字までですが、実際のバイト上限は鍵と padding に依存して小さくなります。まず短いテキストで試します。
RSA は大きなファイル暗号化や文書保管庫ではありません。小さなテストまたは確立済みプロトコルに使います。
再現可能にテストする
2048、3072、4096ビットのテスト鍵を作り、対応する鍵ペアとパラメータで試します。
マスク済みの情報だけを残し、テスト鍵を破棄し、誤送信した実鍵はローテーションします。
よくある質問
公開鍵で復号できますか?
いいえ、対応する秘密鍵で復号します。
短いテキストでもなぜ失敗しますか?
実際の上限はバイト数、鍵、padding に依存します。
署名で機密になりますか?
いいえ。