BATMAN

eBATS (ECRYPT Benchmarking of Asymmetric Systems) is a competition for public-key systems. eBATS measures BATs (Benchmarkable Asymmetric Tools) according to several criteria: time to generate a key pair, time to sign a message, length of the signed message, etc.

BATMAN (Benchmarking of Asymmetric Tools on Multiple Architectures, Non-Interactively) is a program to collect measurements of public-key systems. It allows a large number of BATs to be systematically measured on a large number of computers. The output of BATMAN is an extensive database of measurements in a form suitable for easy computer processing.

Using BATMAN to test your new BATs

Download and unpack the BATMAN program:
     wget http://hyperelliptic.org/ebats/batman-20070214.tar.gz
     gunzip < batman-20070214.tar.gz | tar -xf -
     cd batman-20070214
Download the available BATs as examples, and move them to the sleepingbats directory:
     wget http://hyperelliptic.org/ebats/bats-20070214.tar.gz
     gunzip < bats-20070214.tar.gz | tar -xf -
     mv bats/* sleepingbats
Download m4 1.4.8, GMP 4.2.1, NTL 5.4, and OpenSSL 0.9.8d:
     (cd libraries; wget --passive-ftp ftp://ftp.gnu.org/gnu/m4/m4-1.4.8.tar.bz2)
     (cd libraries; wget --passive-ftp ftp://ftp.gnu.org/gnu/gmp/gmp-4.2.1.tar.bz2)
     (cd libraries; wget http://www.shoup.net/ntl/ntl-5.4.tar.gz)
     (cd libraries; wget http://www.openssl.org/source/openssl-0.9.8d.tar.gz)
Your BAT is free to call functions from GMP, NTL, and OpenSSL, after an appropriate #include <gmp.h> etc. Other libraries may be integrated into BATMAN upon request.

Choose a name for your BAT; let's say it's Furry, version 1. Create a new directory for your BAT:

     mkdir bats/furry-1
     cd bats/furry-1
Inside your new directory, create the files required by the BAT API, such as sizes.h.

Once you're done writing your BAT, measure it using BATMAN:

     cd ../..
     ./do
./do leaves the resulting measurements in a new file 20070214-hostname. You can monitor the progress of ./do by watching the file 20070214-hostname-notes.

Beware that the ./do script compiles GMP, NTL, and OpenSSL before it begins measurements. This takes 15 minutes on a 2000MHz Athlon 64, and might take much longer on your machine.

Once you're ready to submit your BAT to eBATS, put a tarball of the subdirectory on the web, and send the URL to batsubmission@ebats.cr.yp.to.

Contributing computer time to eBATS

Do you have a computer that has enough time to benchmark all the available BATs (with no other tasks consuming CPU power), and that will have time in the future for updated benchmarks? Would you like to contribute CPU cycles to benchmarking? Perhaps your favorite type of computer isn't included in the current list of eBATS platforms. Even if all of your computers are similar to computers in the list, you can help by providing independent verification of the speed measurements.

To measure all the available BATs, simply download, unpack, and run the BATMAN program, along with GMP, NTL, OpenSSL, and the BATs:

     wget http://hyperelliptic.org/ebats/batman-20070214.tar.gz
     gunzip < batman-20070214.tar.gz | tar -xf -
     cd batman-20070214
     wget http://hyperelliptic.org/ebats/bats-20070214.tar.gz
     gunzip < bats-20070214.tar.gz | tar -xf -
     (cd libraries; wget --passive-ftp ftp://ftp.gnu.org/gnu/m4/m4-1.4.8.tar.bz2)
     (cd libraries; wget --passive-ftp ftp://ftp.gnu.org/gnu/gmp/gmp-4.2.1.tar.bz2)
     (cd libraries; wget http://www.shoup.net/ntl/ntl-5.4.tar.gz)
     (cd libraries; wget http://www.openssl.org/source/openssl-0.9.8d.tar.gz)
     ./do
Put the resulting 20070214* files on the web, and send the URLs to batmanresults@ebats.cr.yp.to.

Version

This is version 2007.02.14 of the eBATS batman.html web page. This web page is in the public domain.