完全準同型暗号(Fully Homomorphic Encryption、FHE)は、単一のアルゴリズムではなく、暗号化データ上で計算処理を実現する暗号学的構成群の総称です。各スキームは、主にLearning With Errors(LWE)やRing-LWEなど、量子コンピュータにも耐性があるとされる格子ベースの困難な数学的問題を基盤に設計されています。各方式は、計算効率、適した計算タイプ、演算時に累積するノイズの管理方法などで相違があります。主要スキームの特性を把握しておくことは、FHEがスマートコントラクト環境にどのように統合可能かや、特定ユースケースに応じてなぜ特定設計が選ばれるのかを理解するうえで不可欠です。
現在広く議論・導入されているのは、BFV、BGV、CKKS、TFHE/FHEWの4つのスキームです。これらは、求められる計算要件ごとに異なる数学的枠組みや特徴を有しています。特定のスキーム選定は、ブロックチェーン用途においては、アプリケーションが正確な整数演算、AI・機械学習用途の近似演算、あるいはスマートコントラクト処理に必要な高速ビット演算のいずれを重視するかによって決まります。
BFV(Brakerski–Fan–Vercauteren)、BGV(Brakerski–Gentry–Vaikuntanathan)は、実用的なFHEとして早期に普及した代表的な方式です。両者はいずれも格子暗号を基盤とし、整数やモジュラー演算の処理を前提として設計されています。正確な加算・乗算をサポートするため、金融計算、電子投票、厳密な精度が要求されるシーンに適しています。
BFVは特に、決定論的な結果が必要で丸め誤差を許容できない場面において、モジュラー整数演算を効率的に処理する点に強みがあります。BGVも根底の原理は類似していますが、パック化暗号文(バッチ処理)に特化した最適化を導入しており、複数の値を並列処理できる(バッチング)ため、トランザクションスループットと計算コストの関係が密接なブロックチェーン環境で特に有用です。
BFVとBGVは、レベルド準同型暗号(Leveled Homomorphic Encryption)に準拠しており、許容される演算回数には上限が設定されています。ノイズの増大により解読不能になる前に、ブートストラッピング(暗号文を準同型的に再暗号化してノイズをリセットする処理)を適用することで、完全な準同型性を実現します。当初、ブートストラッピングは極めて低速でしたが、近年の技術革新により処理コストは大きく軽減され、現実的な暗号化連続演算も可能となりました。
CKKS(Cheon–Kim–Kim–Song)は、整数の正確な演算ではなく近似的な計算をサポートすることで、新たな準同型暗号のアプローチを提案しました。この設計は、厳密な精度よりも近似値や浮動小数点演算が許容される機械学習やAIワークロードに最適です。CKKSは実数・複素数を暗号文にエンコードし、ベクトル化された演算処理を実現できるため、暗号化モデルの推論やセキュアデータ分析を高速化します。
CKKSの最大の特徴は近似演算に由来するもので、スケーリングや丸め等の過程で生じる数値誤差が結果に含まれる場合があります。ただし多くのAI・データサイエンス用途では、モデル自体が小幅な数値誤差を許容するため、実運用上ほとんど問題になりません。ブロックチェーン領域では、CKKSにより、AIエージェントがモデルやユーザーデータを開示せずチェーン上で予測やリスク評価を実行できるなど、プライバシー保護型の応用が進んでいます。
一方で、金融スマートコントラクトや電子投票など、結果の厳密性が絶対条件となる分野では、CKKSの適用は限定的となります。これら用途にはBFVやTFHEといった整数ベースのスキームが選択される傾向です。しかし、CKKSの高次元ベクトル処理能力は、将来的に分散型AIマーケットプレイスやフェデレーテッドラーニングなど、ブロックチェーン基盤での新たな応用可能性を拓きます。
TFHE(Fast Fully Homomorphic Encryption over the Torus)および前身のFHEWは、ビット単位の演算に特化した最適化がなされています。他のBFV・BGV・CKKSがベクトルや多項式単位での演算を特徴とするのに対し、TFHEはビット毎に暗号化を行い、迅速なブール演算を実現します。この方式は、算術演算よりも比較処理や条件分岐、暗号化されたスマートコントラクト状態管理など、論理回路が求められる用途に理想的です。
TFHEの画期的な特徴は、その極めて高速なブートストラッピングです。初期のFHEスキームにおいて最大の障壁だったブートストラッピング処理時間を、TFHEは根本的な処理見直しによりミリ秒単位に短縮し、対話型アプリケーションにおける連続暗号化処理を実用化しました。この進展によりTFHEは、ZamaのfhEVMのようなスマートコントラクトが任意の暗号化ロジックを効率的に扱うブロックチェーン環境で最適なソリューションへと成長しています。
一方で、TFHEはバイナリ演算への特化ゆえに、算術中心の処理量が多い場合はCKKSやBFVと比較して非効率になることがあります。近年では、制御ロジックにTFHE、近似演算にCKKSといったハイブリッド構成により、両方式の長所を生かしたプライバシー重視型の分散アプリケーションの開発が進んでいます。
ノイズは格子ベース準同型暗号スキームに不可避な現象です。暗号化されたデータに演算処理を重ねる度にノイズが増大し、一定以上になると復号が不能となります。ブートストラッピングは、準同型的に暗号文を復号・再暗号化することでノイズを初期化し、理論上無制限の演算を可能とします。
かつてのブートストラッピングアルゴリズムは著しく低速かつ高負荷であり、FHEの実用化を阻んでいました。しかし過去10年の技術進展により、処理時間は数分からミリ秒単位にまで短縮されています。TFHEやFHEWはリアルタイム用途向けの低遅延ブートストラッピングを切り開き、CKKSやBFVもアルゴリズム最適化やハードウェア加速により大きな進歩を遂げています。
ノイズ管理は単にブートストラッピングに依存しません。モジュラススイッチング、キースイッチング、暗号文のパッキングといった手法も活用され、ノイズの制御と計算効率向上を両立しています。モジュラススイッチングは演算中に暗号文のモジュラスを減少させ、キースイッチングは復号を介さず鍵の異なる状態間で暗号データを移行可能とし、パッキングは単一暗号文による並列値処理を可能としています。これら手法が、実運用可能なFHEの根幹です。
アルゴリズム面での進歩はあるものの、FHEの計算コストは従来の暗号方式と比較して依然大きいままです。このため、ハードウェアアクセラレーションが重要な研究開発分野となっています。FHEコア処理である多項式演算やベクトル演算の並列化に強いGPUがまず活用され、著しい高速化をもたらしています。最近ではFPGAや専用ASICによる更なる効率化も進められています。
Zama社のHomomorphic Processing Unit(HPU)プロトタイプは、FHE特化型ハードウェアの業界動向を象徴します。こうした専用デバイスはFHEワークロードに最適化されており、遅延や消費電力を大幅に低減します。ブロックチェーンアプリケーションが低コスト・高スループットを求める中で、ハードウェアアクセラレーションはFHE活用型スマートコントラクトの商用定着に向けた重要な要素となるでしょう。
FHE開発者向けに、複数のオープンソースライブラリが中核ツールとして定着しつつあります。Microsoft SEALは特に広範囲に使われており、BFVとCKKSに対応し、利便性とクロスプラットフォーム適合性で評価されています。OpenFHE(旧PALISADE)は、より多機能かつ複数スキームへの対応や最適化に優れています。IBMのHElibはBGVを中心とした研究指向のプラットフォームとして、学術分野で影響力を持っています。
TFHE系アプリケーション向けには、Zama社のTFHE-rsライブラリが標準的な選択肢であり、高速なブートストラッピングやfhEVMフレームワークとの連携を実現します。同じくZamaのConcreteはRustでの開発に最適化され、使いやすさと性能を両立した設計です。FhenixはEthereum向けの機密性重視スマートコントラクトにフォーカスし、暗号技術の複雑さを抽象化したSolidity SDKを提供することで、ブロックチェーン開発者が親しみのあるツールで暗号化コントラクトを構築できるよう支援しています。
これらライブラリの成熟により、FHE開発の参入障壁は大きく下がりました。高度な暗号学知識が不要となり、SolidityやRustなど一般的な言語に精通したスマートコントラクト開発者でも容易に利用可能です。こうしたFHE開発の民主化が、分散型金融、ヘルスケア、オンチェーンAIなど多岐にわたる分野における実験や導入を加速させています。