diff --git a/ci/azure-pipelines.yml b/ci/azure-pipelines.yml index d45f0dbeb..f87007046 100644 --- a/ci/azure-pipelines.yml +++ b/ci/azure-pipelines.yml @@ -41,4 +41,14 @@ jobs: displayName: "Upload plot of captured AES traces." - publish: ./ci/ci_projects/opentitan_simple_aes.zip artifact: project_traces_aes - displayName: "Upload project of captured AES traces." \ No newline at end of file + displayName: "Upload project of captured AES traces." + - bash: | + set -e + pushd ci + ./ci_check_tvla_aes.sh + popd + displayName: "Check AES TVLA" + continueOnError: True + - publish: ./ci/tmp/figures + artifact: tvla_figure + displayName: "Upload figure of AES TVLA." \ No newline at end of file diff --git a/ci/ci_capture_aes_cw310.yaml b/ci/cfg/ci_capture_aes_cw310.yaml similarity index 100% rename from ci/ci_capture_aes_cw310.yaml rename to ci/cfg/ci_capture_aes_cw310.yaml diff --git a/ci/cfg/ci_tvla_cfg_aes_specific_byte0_rnd0.yaml b/ci/cfg/ci_tvla_cfg_aes_specific_byte0_rnd0.yaml new file mode 100644 index 000000000..f8e1aefd7 --- /dev/null +++ b/ci/cfg/ci_tvla_cfg_aes_specific_byte0_rnd0.yaml @@ -0,0 +1,16 @@ +project_file: ci_projects/opentitan_simple_aes +trace_file: null +trace_start: null +trace_end: null +leakage_file: null +save_to_disk: null +save_to_disk_ttest: null +round_select: 0 +byte_select: 0 +input_histogram_file: null +output_histogram_file: null +number_of_steps: 1 +ttest_step_file: null +plot_figures: true +general_test: false +mode: aes diff --git a/ci/ci_capture_aes_fvsr.sh b/ci/ci_capture_aes_fvsr.sh index 8c4d75d71..2866e43e7 100755 --- a/ci/ci_capture_aes_fvsr.sh +++ b/ci/ci_capture_aes_fvsr.sh @@ -4,7 +4,7 @@ # SPDX-License-Identifier: Apache-2.0 # Simple script to test AES fvsr-key capture -../cw/capture.py --cfg-file ci_capture_aes_cw310.yaml capture aes-fvsr-key-batch +../cw/capture.py --cfg-file cfg/ci_capture_aes_cw310.yaml capture aes-fvsr-key-batch if [ -d "./ci_projects/opentitan_simple_aes_data" ]; then echo "Directory ./ci_projects/opentitan_simple_aes_data exists" diff --git a/ci/ci_check_aes_traces.sh b/ci/ci_check_aes_traces.sh index 9ae35e64c..57d113996 100755 --- a/ci/ci_check_aes_traces.sh +++ b/ci/ci_check_aes_traces.sh @@ -17,7 +17,7 @@ ARGS="--force-program-bitstream" for test in ${!aes_test_list[@]}; do echo Testing ${test} on CW310 - `date` NUM_TRACES=${aes_test_list[${test}]} - ../cw/capture.py --cfg-file ci_capture_aes_cw310.yaml capture ${test} \ + ../cw/capture.py --cfg-file cfg/ci_capture_aes_cw310.yaml capture ${test} \ --num-traces ${NUM_TRACES} ${ARGS} &>> "tmp/test_capture.log" mv ./ci_projects/sample_traces_${MODE}.html tmp/${test}_traces.html diff --git a/ci/ci_check_tvla_aes.sh b/ci/ci_check_tvla_aes.sh new file mode 100755 index 000000000..83ab76021 --- /dev/null +++ b/ci/ci_check_tvla_aes.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +# Copyright lowRISC contributors. +# Licensed under the Apache License, Version 2.0, see LICENSE for details. +# SPDX-License-Identifier: Apache-2.0 + +# Simple script to test AES capture. +mkdir -p tmp + +# AES +MODE="aes" +BOARD=cw310 +declare -A aes_test_list +aes_test_list["aes-random"]=100 + +ARGS="--force-program-bitstream" +for test in ${!aes_test_list[@]}; do + echo Testing ${test} on CW310 - `date` + NUM_TRACES=${aes_test_list[${test}]} + ../cw/capture.py --cfg-file cfg/ci_capture_aes_cw310.yaml capture ${test} \ + --num-traces ${NUM_TRACES} ${ARGS} + ../cw/tvla.py ./tvla.py --cfg-file cfg/ci_tvla_cfg_aes_specific_byte0_rnd0.yaml \ + run-tvla + ARGS="" +done