« x86カルトクイズ(解答編) | メイン | SEA & FSIJ 合同フォーラムでの発表資料 »

ηTペアリングの高速な実装

ペアリング暗号とは2000年頃に登場し,近年盛んに研究されている暗号で,ペアリングとはその暗号で使われる演算の名前です.
この暗号は現在まだ普及していませんが,既存のブロック暗号や,公開鍵暗号ではできないことも実現可能になるため,今後いろいろな分野で実用化されると想像されます.

ただ当初は演算処理が極めて重く,私も以前高速な実装を試みたりしていましたが,なかなか大変なものでした.
ところが数年前からかなり効率のよいアルゴリズムが考え出され,未踏ユースで挑戦してる人も現れ,今ではRSAと同じかそれ以上の速度が出るようにもなってきているようです.

とはいえ,ソースが公開されているものは殆ど見かけません.
というわけで,今回自分で一から開発した実装を公開しました.
速度優先のため,あまりきれいなものではありませんが,何かの参考になればと思います.
コードはESSE3を利用しているためCore 2 Duo専用ですが,Core 2 Duo 1.8GHzで288usecと世界最速レベルだと思います(今までの最速は400usec程度? 違ったらすいません).

実装の詳細についてはSEA & FSIJ 合同フォーラムでも多少触れる予定です.

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)