/crypto_test

This is a simple set of test cases for the performance fix work done on the Illumos KCF.

Primary LanguageC

This is a simple set of test cases for the performance fix work done on
the Illumos KCF (Kernel Cryptographic Framework) to make sure nothing
has broken. For more information about Illumos, visit: http://illumos.org/

This project builds a kernel module which will test all of the algorithms
(AES/ECB, AES/CBC, AES/CTR, AES/GCM) against a set of good Known Answer
Test (KAT) vectors. It will then exit and not finish loading, exiting with
EACCES - this is normal. Watch your dmesg or syslog for kernel notices on
the progress of the test.

The module also supports testing performance of the given algorithms. To
enable performance testing, comment out the '#define CHECK' line at the
start of crypto_test.c and recompile.

To build the module:
 1) Change to your illumos-gate directory (e.g. /usr/src/illumos-gate)
    $ cd /usr/src/illumos-gate
 2) Run the workspace setup command:
    $ /opt/onbld/bin/ws
 3) If you are running a shell other than KSH, run KSH now:
    $ /bin/ksh
 4) Source the illumos.sh build setup script in your workspace:
    $ source ./illumos.sh
 5) Go back into the crypto_test project directory (e.g. /usr/src/crypto_test)
    $ cd /usr/src/crypto_test
 6) Build it:
    $ make

You should be left with two modules, one in debug32/crypto_test and
one in debug64/crypto_test. Depending on your kernel type (isainfo -kv),
become root and modload the appropriate module, e.g.
# modload debug64/crypto_test

Alternatively, you can use a pair of pre-built modules named
'correctness_test64' and 'speed_test64' in this repo.