非対称暗号化 とは?
非対称暗号化は、誰でもデータの暗号化に使用できる公開鍵と、所有者だけが復号のために持つ秘密鍵という、数学的に関連した鍵のペアを使用する暗号システムで、事前に秘密鍵を共有する必要をなくします。
別名: public-key cryptography, asymmetric cryptography
非対称暗号化は、何世紀も暗号を制限してきた根本的な鍵配送問題を解決しました。1970 年代の発明以前、安全に通信したい 2 者はまずセキュアなチャネルを通じて共有秘密鍵に合意する必要があり、卵が先か鶏が先かという問題がありました。非対称暗号は誰でも自由に配布された公開鍵を使ってメッセージを暗号化できますが、対応する秘密鍵の所有者のみが復号できます。
数学的な基盤はトラップドア関数に依存しています。一方向には簡単に実行できますが、特別な知識なしには計算上不可能な逆変換です。RSA は大きな素数の積の因数分解の難しさを使用し、楕円曲線暗号(ECC)は楕円曲線上の離散対数問題を使用します。これらの数学的特性により、公開鍵から秘密鍵を明かすことはできません。
非対称暗号化は対称暗号化よりも著しく遅く、同等のデータサイズでしばしば 100 から 1,000 倍遅いです。そのため、バルクデータの直接暗号化にはほとんど使われません。代わりに、現代のシステムはハイブリッドアプローチを使用します。非対称暗号化で対称鍵の交換を保護し、その対称鍵で実際のペイロードを暗号化します。TLS、PGP、SSH はすべてこのハイブリッドパターンに従います。
Vaulted における 非対称暗号化 の使われ方
Vaulted はリンク共有モデルが非対称暗号化が解決しようとする鍵配送問題を排除するため、非対称暗号化の代わりに対称暗号化(AES-256-GCM)を使用します。暗号鍵は URL フラグメントに埋め込まれ、リンク自体と共に配信されるため、公開鍵・秘密鍵のペアや鍵交換プロトコルは必要ありません。これにより暗号実装がシンプルかつ高速になり、Web Crypto API の対称プリミティブのみが必要です。