diff options
author | Jack Lloyd <[email protected]> | 2018-06-30 08:12:15 -0400 |
---|---|---|
committer | Jack Lloyd <[email protected]> | 2018-06-30 08:12:15 -0400 |
commit | 09a5000709ccadde70dc40331ef9427d058ec940 (patch) | |
tree | fcb2ae3402d5fd9da3728c5ba10d5b4757cd0d7a /doc/manual/side_channels.rst | |
parent | 0a5b3a2e9fe94374ccd2d384cea1c60083c383ac (diff) |
Document how to use timing_test [ci skip]
Diffstat (limited to 'doc/manual/side_channels.rst')
-rw-r--r-- | doc/manual/side_channels.rst | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/doc/manual/side_channels.rst b/doc/manual/side_channels.rst index 54be346b5..32be498e7 100644 --- a/doc/manual/side_channels.rst +++ b/doc/manual/side_channels.rst @@ -388,6 +388,29 @@ See header ct_utils.h. To check, install valgrind, configure the build with --with-valgrind, and run the tests. +.. highlight:: shell + +There is also a test utility built into the command line util, `timing_test`, +which runs an operation on several different inputs many times in order to +detect simple timing differences. The output can be processed using the +Mona timing report library (https://github.com/seecurity/mona-timing-report). +To run a timing report (here for example pow_mod):: + + $ ./botan timing_test pow_mod > pow_mod.raw + +This must be run from a checkout of the source, or otherwise ``--test-data-dir=`` +must be used to point to the expected input files. + +Build and run the Mona report as:: + + $ git clone https://github.com/seecurity/mona-timing-report.git + $ cd mona-timing-report + $ ant + $ java -jar ReportingTool.jar --lowerBound=0.4 --upperBound=0.5 --inputFile=pow_mod.raw --name=PowMod + +This will produce plots and an HTML file in subdirectory starting with +``reports_`` followed by a representation of the current date and time. + References --------------- |