  Identity-Based signature schemes are gaining a lot of popularity every day.
Over the last decade, there has been a lot of schemes that have been proposed.
Several libraries are there that implement identity-based cryptosystems that
include identity-based signature schemes like the JPBC library which is written
in Java and the charm-crypto library written in python. However, these
libraries do not contain all of the popular schemes, rather the JPBC library
contains only one identity-based signature scheme and the charm-crypto contains
three. Furthermore, the implemented schemes are designed to work on one
particular pairing curve. In pairing-based cryptosystems, even for a given
signature scheme, the size of the signature and the performance i.e. the time
to sign and verify depends on the chosen pairing curve. There are many
applications in which the signature size is of more importance than the
performance and similarly other applications where the performance is of more
importance than signature size. In this work, we describe the popular signature
schemes and their implementation using the JPBC library and describe how
different pairing curves affect the signature size and performance. We also
provide two methods to further shorten the signature size which is not present
in the libraries by default.
