はじめに
暗号の世界では、速度とセキュリティの間でトレードオフに直面することがよくあります。AES のような対称暗号アルゴリズムは非常に高速であり、大量のデータを暗号化するのに理想的ですが、送信者と受信者の両方に安全に配布されなければならない共有シークレットキーが必要です。RSA のような非対称暗号アルゴリズムは、公開鍵/秘密鍵ペアを使用した安全な鍵交換に優れていますが、計算負荷が高く、バルクデータを暗号化するには遅すぎます。
ハイブリッド暗号化は、これら両方の手法の長所を組み合わせることで、この問題を解決します。これは「両方の長所を活かす (best of both worlds)」アプローチを使用します。
- 非対称暗号化を使用して、一時的なワンタイム対称鍵(しばしば「セッション鍵」と呼ばれる)を安全に暗号化し共有します。
- その後、このセッション鍵を使用して対称暗号化を行い、実際の大きなメッセージデータを迅速かつ効率的に暗号化します。
この実験(Lab)では、opensslコマンドラインツールを使用して、完全なハイブリッド暗号化スキームをゼロから実装します。RSA 鍵ペアを生成し、ランダムな AES セッション鍵を作成し、RSA を使用してセッション鍵を暗号化し、AES を使用してメッセージを暗号化し、最後にプロセスを逆転させてメッセージを復号化します。



