iO(indistinguishable obfuscation)
同じ数学関数を計算する2つのプログラムを難読化すると、互いに区別できないプログラムになるという定義特性を持つ
2000年代初頭よりblackbox obufucationをはじめとした概念が提案され始めた。
現在に至るまでいくつかの効率的な構成方法が提案されているが、実装に至っていない。
どの構成も極めて複雑で、FHEやfunctional encryptionなどを組み合わせるようなイメージ。
また、ブートストラップのような工夫も必要であり、現実的な解はまだ固まっていない印象
知る限りだと以下のような構成方法がある
Local Mixing
FHE+Functional Encryption
Pseudorandom Functional Encryption