ηTペアリングの高速な実装
ペアリング暗号とは2000年頃に登場し,近年盛んに研究されている暗号で,ペアリングとはその暗号で使われる演算の名前です.
この暗号は現在まだ普及していませんが,既存のブロック暗号や,公開鍵暗号ではできないことも実現可能になるため,今後いろいろな分野で実用化されると想像されます.
ただ当初は演算処理が極めて重く,私も以前高速な実装を試みたりしていましたが,なかなか大変なものでした.
ところが数年前からかなり効率のよいアルゴリズムが考え出され,未踏ユースで挑戦してる人も現れ,今ではRSAと同じかそれ以上の速度が出るようにもなってきているようです.
とはいえ,ソースが公開されているものは殆ど見かけません.
というわけで,今回自分で一から開発した実装を公開しました.
速度優先のため,あまりきれいなものではありませんが,何かの参考になればと思います.
コードはESSE3を利用しているためCore 2 Duo専用ですが,Core 2 Duo 1.8GHzで288usecと世界最速レベルだと思います(今までの最速は400usec程度? 違ったらすいません).
実装の詳細についてはSEA & FSIJ 合同フォーラムでも多少触れる予定です.