目的
僕の考えた分割加算が準同型暗号を使ったシステムで役に立ちそう。
分割加算とは
大きな数のモンゴメリ乗算を高速に演算するアルゴリズム。僕が考えたもの。 詳しくは「モンゴメリ乗算の累積加算における分割加算の証明」。
準同型暗号とは
暗号化されたまま加算や、乗算が行える暗号。RSA暗号など、いくつかの公開鍵暗号がある。僕はアルゴリズムや安全性については詳しくない。 電子投票や電子マネーでの応用が期待されている様子。具体的に社会実装するという動きもあるようです。
分割加算は使えるか?
RSA暗号はもちろん。Paillier暗号でも、使えると思われます。 分割加算では基数2n(nは、17~64程度)なので 使えるかどうかは暗号アルゴリズムにあるmod xのxがgcd(2,x)=1であること。すなわちxが奇数かどうかになります。 準同型暗号を使ったシステムで、どのくらいモンゴメリ乗算を使うかによって、実際に分割加算を実装したFPGAなどのハードデバイスが役に立つかが決まります。
分割加算はFPGAに向いている
分割加算を使った暗号プロセッサICF3-FはASICのみならずFPGAでも効率的に実装できる。 ICF3-Fの元となっているICF3は、オープンソースハードウェアとして公式サイトがある。 ただし、まだライセンスの整備が十分でない。 構想の話ですが、ICF3-FとICF3の命令セットを、なるべく共通化して、オープンソースのICF3で広く普及させ、 真に性能が必要なシステムでは、ICF3-Fが売れる。その利益によってオープンソースのICF3が整備されるというような、、、。