#! /bin/sh prog=`echo $0 | sed 's:.*/::'` cat <&2 "$0: bad filename \`$i'"; exit 2 ;; esac case $tail in *LongMsg.rsp) hack=kat; bits=${tail%LongMsg.rsp} ;; *ShortMsg.rsp) hack=kat; bits=${tail%ShortMsg.rsp} ;; *VariableOut.rsp) hack=kat; bits=${tail%VariableOut.rsp} ;; *Monte.rsp) hack=mct; bits=${tail%Monte.rsp} ;; *) echo >&2 "$0: bad filename \`$i'"; exit 2 ;; esac case $hack,$alg in kat,*) echo "$alg$sep$bits$hex {" awk ' BEGIN { FS = "[ \t\r]+"; len = 8; } /^Len = / { len = $3; } /^Msg = / { msg = tolower($3); if (!len) msg = "\"\""; } /^(MD|Output) = / { h = tolower($3); if (len%8 == 0) printf(" %s\n %s;\n", msg, h); } ' <"$i" echo "}" ;; mct,sha3) echo "$alg$sep$bits-mct {" awk ' BEGIN { FS = "[ \t\r]+"; } BEGIN { prev = ""; } /MD = / { if (prev != "") printf(" 1000\n %s\n %s;\n", prev, $3); prev = $3; } ' <"$i" echo "}" ;; *) echo >&2 "$0: unsupported test kind $hack/$alg"; exit 2 ;; esac done