完全準同型暗号(Homomorphic Encryption)
「暗号化したまま」計算ができる技術。
準同型暗号は、暗号文上で直接計算を実行できる暗号技術であり、復号すると元の平文で実行された計算結果と同じになる暗号化された結果を生成します。この特性により、クラウドコンピューティングやアウトソーシングされた計算など、データのプライバシーが非常に重要なアプリケーションで特に役立ちます。これにより、第三者はデータを復号することなく機密データを処理できます。準同型暗号には、準同型暗号(PHE)、いくらか準同型暗号(SHE)、完全準同型暗号(FHE)など、いくつかの種類があります。FHEは最も強力で、暗号文に対して任意の回数の加算と乗算を許可します。
graph LR
Center["完全準同型暗号(Homomorphic Encryption)"]:::main
Pre_asymmetric_encryption["asymmetric-encryption"]:::pre --> Center
click Pre_asymmetric_encryption "/terms/asymmetric-encryption"
Pre_lattice_based_cryptography["lattice-based-cryptography"]:::pre --> Center
click Pre_lattice_based_cryptography "/terms/lattice-based-cryptography"
Rel_zero_knowledge_proof["zero-knowledge-proof"]:::related -.-> Center
click Rel_zero_knowledge_proof "/terms/zero-knowledge-proof"
Rel_secure_multi_party_computation_smpc["secure-multi-party-computation-smpc"]:::related -.-> Center
click Rel_secure_multi_party_computation_smpc "/terms/secure-multi-party-computation-smpc"
Rel_confidential_computing["confidential-computing"]:::related -.-> Center
click Rel_confidential_computing "/terms/confidential-computing"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 5歳でもわかるように説明
中身が見えるけれど、鍵がかかっている「不思議な箱」の中に食材を入れるようなものです。料理人は箱を振って中身を混ぜることはできますが、中身を取り出すことはできません。最後にあなたが鍵を開けると、材料が混ざってサラダができあがっている、という仕組みです。
🤓 Expert Deep Dive
準同型暗号(HE)は、暗号化されたデータに対する関数の計算を可能にする暗号化のパラダイムです。これは、クラウドサービスプロバイダーなどの第三者が、復号キーにアクセスすることなく暗号化されたデータを処理できることを意味し、それによってデータプライバシーを保護します。主なタイプは3つあります:準同型暗号(PHE)、いくらか準同型暗号(SHE)、完全準同型暗号(FHE)。
PHEスキームは、1種類の操作(加算または乗算)のみを無制限にサポートします。例としては、Paillier(加算)やElGamal(乗算)があります。
SHEスキームは、加算と乗算の両方の操作を限定された回数だけサポートします。PHEよりも汎用性がありますが、実行できる計算の複雑さには依然として制約があります。
FHEスキームは、大きなブレークスルーであり、加算と乗算の両方の操作を任意の回数実行できます。これにより、暗号化されたデータに対して任意の計算可能な関数を実行できます。FHEの主な課題は、歴史的に、平文での計算と比較して、大幅な計算オーバーヘッドとパフォーマンスの低下でした。BGV、BFV、CKKS、TFHEなどの最新のFHEスキームは、このオーバーヘッドを削減する上で substantial な進歩を遂げており、安全なクラウドコンピューティング、プライベート機械学習、機密データ分析などの分野で実用的なアプリケーションにとってますます実行可能になっています。