45 lines
1.4 KiB
Bash
Raw Normal View History

2025-01-17 18:27:46 +03:00
#!/bin/bash
# SPDX-License-Identifier: MIT
file=$2
build_dir=$3
# input part
prng_output_stream=$(grep "seed: " "$file" | sed 's/seed: //g')
sig_msg=$(grep "sig_message: " "$file" | sed 's/sig_message: //g')
sig_sk=$(grep "sig_sk: " "$file" | sed 's/sig_sk: //g')
sig_rnd=$(grep "rnd: " "$file" | sed "s/rnd: //g")
verif_sig=$(grep "verif_signature: " "$file" | sed "s/verif_signature: //g")
verif_pk=$(grep "verif_pk: " "$file" | sed "s/verif_pk: //g")
verif_msg=$(grep "verif_message: " "$file" | sed "s/verif_message: //g")
# KAT part
keygen_pk=$(grep "keygen_pk: " "$file")
keygen_sk=$(grep "keygen_sk: " "$file")
sig_signature=$(grep "sig_signature: " "$file")
output=$($build_dir/tests/vectors_sig $1 "$prng_output_stream$sig_rnd" "$sig_msg" "$sig_sk" "$verif_sig" "$verif_pk" "$verif_msg")
if [ $? != 0 ]; then
exit 1
fi
# Parse output: pk, sk, signature
output_pk=$(echo "$output" | grep "pk: " | sed "s/pk: /keygen_pk: /g")
output_sk=$(echo "$output" | grep "sk: " | sed "s/sk: /keygen_sk: /g")
output_signature=$(echo "$output" | grep "signature: " | sed "s/signature: /sig_signature: /g")
if [ "$keygen_pk" != "$output_pk" ]; then
echo "keygen_pk mismatch for $1"
exit 1
elif [ "$keygen_sk" != "$output_sk" ]; then
echo "keygen_sk mismatch for $1"
exit 1
elif [ "$sig_signature" != "$output_signature" ]; then
echo "sig_signature mismatch for $1"
exit 1
else
echo "Vector tests succeeded for $1"
fi