【じゅんどうけいあんごう】

準同型暗号 とは?

最終更新:
💡 中身を見せずに計算だけお願いできる、魔法の暗号箱

データを暗号化したまま計算処理ができる暗号技術。復号せずに足し算や掛け算などの演算が可能で、プライバシーを保護しながらデータ活用ができる。

📌 このページのポイント
加算に対応する方式の例 復号して計算する場合 暗号化した入力 復号して 3+5を計算 結果を暗号化 準同型暗号なら、委託先で復号しない 3と5を 暗号化 委託先が 暗号文を計算 所有者が復号 8 計算結果も暗号文として返す 復号鍵は所有者が保持する
3と5を足して8を得る例です。対応する演算・精度は方式によって異なり、CKKSなどは近似結果を返します。任意の計算がそのまま高速に実行できるわけではありません。
ひよこ ひよこ
暗号化したまま計算って、復号しなくてもできるの?
ペンギン先生 ペンギン先生
例えば加算に対応する方式で「3」と「5」を暗号化し、その暗号文に所定の演算をすると、結果を復号して「8」を得られるよ。計算する側へ復号鍵を渡さずに処理できるんだ。ただし、どの演算ができるかは方式によって違い、CKKSのように近似結果を返す方式もあるよ。
ひよこ ひよこ
それってどんな場面で役立つの?
ペンギン先生 ペンギン先生
例えば患者のデータを復号して見せずに、クラウドへ集計やAI推論を委託したい場面だよ。対応する計算を暗号文に対して行い、結果も暗号文として返してもらうんだ。ただし、暗号化だけで法令や契約の条件をすべて満たすわけではないし、鍵や復号後の結果の保護も必要だよ。
ひよこ ひよこ
完全準同型暗号っていうのも聞くけど、種類があるの?
ペンギン先生 ペンギン先生
加算または乗算など一種類の演算に対応する「部分準同型暗号(PHE)」、計算の複雑さに制限がある「Somewhat HE(SWHE)」、任意の計算を表現できる「完全準同型暗号(FHE)」などがあるよ。FHEはCraig Gentryが2009年に最初の構成を示したんだ。実装では、計算に必要な時間や資源も考える必要があるよ。
ひよこ ひよこ
じゃあFHEを使えば何でもできるの?課題はないの?
ペンギン先生 ペンギン先生
通常の計算に比べて処理が重く、暗号文も大きくなるよ。ただし遅くなる倍率は方式・演算・パラメータ・実装で変わるんだ。BFVやCKKSなども、扱う値や精度が違う。計算内容を暗号文向けに組み直したり、FHEではブートストラッピングという暗号文を更新する処理を使ったりするため、用途に合う設計が大切だよ。
ひよこ ひよこ
実際にもう使われてるの?
ペンギン先生 ペンギン先生
MicrosoftはSEAL、IBMはFHEの研究などに取り組んでいるよ。Googleの旧C++ Transpilerはアーカイブされ、現在のリポジトリではHEIRやJaxiteを案内している。Appleも2024年、写真のEnhanced Visual Searchなどに準同型暗号と他の保護技術を組み合わせて使う実装を説明しているんだ。
ひよこ ひよこ
これからの発展が楽しみだね!
ペンギン先生 ペンギン先生
AIの学習や推論にも応用されているよ。ただし、すべてのモデルや処理をそのまま高速に動かせるわけではないんだ。計算に必要な精度やデータ量、鍵を持つ人、結果を見られる人を整理し、実際の処理時間と保護できる範囲を確かめて使うことが大切だね。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「準同型暗号」って出てきたら「暗号化したまま計算できる暗号技術」と思えばだいたいOK!
📖 おまけ:英語の意味
「Homomorphic Encryption」 = 準同型の暗号化
💬 「Homomorphic」は数学用語で「構造を保つ写像」のこと。暗号化しても演算の構造が保たれるという意味からこの名前がついたんだよ

参考資料

← 用語集にもどる