All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- test case for OAEP Encryption with public key (
oaepenc
,oaepencsha1
andoaepencsha256
)
- error region no longer drawn in negative domain, for latency and throughput.
- python dependencies vulnerabilities fixed
- for JWE unwrap & decrypt, finer-grained elapsed time accounting.
C_DestroyObject()
not accounted for anymore.
json2xlsx.py
: support for 'aggregated' JSON input files, grouped by number of threads.
gengraph.py
: adjusted units for graphs, default is Bytes/s for encryption and decryption, and TPS for all the rest.
- test case for RSA OAEP key unwrapping (in addition to already existing RSA OAEP data decryption)
- key generation on Marvell skips CKA_PRIVATE attribute
- determine measure,unit per graph not globally
- sort data by independent variable (threads/vector size)previously, excel file had to be sorted appropriately
- move legends to right corners; change linestyle for second regression line
gengraphs.py
throughput error used wrong data fieldgengraphs.py
fix reglines for larger datagengraphs.py
fix buggy error message
- dependency issue to matplotlib, for
gengraph
- AES GCM: removed IV buffer cleanup for flavours that do not require it
- support for GCM and JWE for Marvell HSMs
gengraphs.py
can now plot graphs as a function of the payload size, in addition to the number of threadsgengraphs.py
draws error range for latency.gengraphs.py
two graphs are plotted, one with latency and global throughput, and another with throughput per threadgengraphs.py
can plot curves from two different datasets on the same graph
- Typo in command line
- It is now possible to specify a number of iterations to skip at the beginning, in addition to the regular iterations
- PyInstaller spec file for
generatekey.py
- Library, slot and passwords can be deduced from
PKCS11LIB
,PKCS11SLOT
andPKCS11PASSWORD
environment variables, when available - More slot and token information is provided
- enhanced exception processing in main loop
- adjusted licensing information for the whole project
- support for implementation flavours (using
-f
or--flavour
parameter). - Flavours: Entrust in FIPS mode, Safenet Luna in FIPS mode, Utimaco in FIPS mode, generic mode
- JWE (RFC7516) key unwrapping and data decryption (RSA-OAEP + AESGCM)
- PKCS#1 OAEP decryption, with SHA1 and SHA256
- AES-GCM now supports flavours
- fixing unhandled exception during program option parsing, causing termination
-n
option reinstated, was mistakenly dropped.
- support for individual selection of block ciphers mode of operation (in addition to existing coverage options)
- support for individual selection of key size of curve
- support for testing
CKM_XOR_BASE_AND_DATA
- support for testing
C_GenerateRandom()
- support for testing
C_SeedRandom()
requirements.txt
updated and adjusted to remove unnecessary dependencies- small fixes in configure and build scripts
- support for testing EC Diffie-Helman key derivation (
CKM_ECDH1_DERIVE
), for NIST/secp curves
- new "vectors" optional argument, allows to select test vector(s) to use for testing
gengraph.py
uses spreadsheets as input
- support for HMAC testing
- new "coverage" optional argument, allows to select which algorithms to test
- Botan 2.17.1+ required to build
- spreadheet format for json2xlsx script
- json2xlsx can be compiled using PyInstaller
- removed left over debug messages
- error-type is now calculated with=2, so uncertainty represents 95% of the samples.
- Now measures are trimmed to only keep really significant numbers, i.e. takes into account the error
- file layout slightly changed
- Python script "json2xlsx.py" is now more generic, using recursive calls
- fixed tps and throughput value calculation
- adjusted error lower bound for average latency calculation
- console table figures for tps and throughput
- fixed calculus for tps and throughput
libtool
support added
- added
AX_BOOST_CHRONO
toconfigure.ac
, to compile static builds
- console results are printed in tabular format
- error estimation on all measurements, based on error calculus and statistical methods
- platform timer precision is now estimated
- max and min values for latency
- throughput is now measured
- small fixes - typos corrected - rewording
- support for ECDSA
CKM_AES_GCM
method works now on Safenet Luna in FIPS mode
- error codes are now returned as strings, as per definition in pkcs11t.h
- removed autotools intermediate files. To compile,
bootstrap.sh
script is provided
- enhanced
README.md
- upon copy, initialization of GCM and CBC benchmark objects was incorrect
- test vectors changed to more useful values
- test vectors label changed to contain vector length in the name
- Turned version to 1.0.0
- added support for AES GCM
- AES key labels now contain the key size
- session key generation support
- AES key size in
generatekeys.py
script
- multithread support: tests can be run in parallel, increasing throughput
- JSON output can be written to a target file
- add
CHANGELOG.md
to the automake distribution - support for JSON output
- adding latency to the printout
- enhanced the calculation for timing
- now using real slot indexes, i.e. no more ignoring empty slots. Choosing an empty slot will abort the flow.
- add
scripts/createkeys.sh
to create keys using pkcs11-toolkit
- add
AM_MAINTAINER_MODE
toconfigure.ac
, and addition ofVERSION
file
- initial release.