Pairing-Based Cryptography has become relevant in industry mainly because of the increasing interest in Identity-Based protocols. A major deterrent to the general use of pairing-based protocols is the complex nature of such protocols; efficient implementation of pairing functions is often difficult as it requires more knowledge than previous cryptographic primitives. In this paper we present a tool for automatically generating optimized code for pairing functions.
Our cryptographic compiler chooses the most appropriate pairing function for the target family of curves, either the Tate, ate, R-ate or Optimal pairing function, and generates its code. It also generates optimized code for the final exponentiation using the parameterisation of the chosen pairing-friendly elliptic curve.