1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148
|
#!/bin/sh
#
# This is just a quick script so we can still run our testcases.
# Longer term we need a scriptable test environment..
#
. ../common/init.sh
CURDIR=`pwd`
CIPHERDIR=${HOSTDIR}/cipher
SKTESTS=${CURDIR}/symmkey.txt
RSATESTS=${CURDIR}/rsa.txt
DSATESTS=${CURDIR}/dsa.txt
HASHTESTS=${CURDIR}/hash.txt
SKPERFOUT=${CIPHERDIR}/skperfout.data
RSAPERFOUT=${CIPHERDIR}/rsaperfout.data
DSAPERFOUT=${CIPHERDIR}/dsaperfout.data
HASHPERFOUT=${CIPHERDIR}/hashperfout.data
PERFRESULTS=${HOSTDIR}/performance.html
echo "<HTML><BODY>" >> ${PERFRESULTS}
mkdir -p ${CIPHERDIR}
cd ${CIPHERDIR}
if [ -z $1 ]; then
TESTSET="all"
else
TESTSET=$1
fi
if [ $TESTSET = "all" -o $TESTSET = "symmkey" ]; then
echo "<TABLE BORDER=1><TR><TH COLSPAN=6>Symmetric Key Cipher Performance</TH></TR>" >> ${PERFRESULTS}
echo "<TR bgcolor=lightGreen><TH>MODE</TH><TH>INPUT SIZE (bytes)</TH><TH>SYMMETRIC KEY SIZE (bits)</TH><TH>REPETITIONS (cx/op)</TH><TH>CONTEXT CREATION TIME (ms)</TH><TH>OPERATION TIME (ms)</TH></TR>" >> ${PERFRESULTS}
while read mode keysize bufsize reps cxreps
do
if [ $mode != "#" ]; then
echo "bltest -N -m $mode -b $bufsize -g $keysize -u $cxreps"
bltest -N -m $mode -b $bufsize -g $keysize -u $cxreps >> ${SKPERFOUT}
mv "tmp.in" "$mode.in"
mv tmp.key $mode.key
if [ -f tmp.iv ]; then
mv tmp.iv $mode.iv
fi
echo "bltest -E -m $mode -i ${CIPHERDIR}/$mode.in -k ${CIPHERDIR}/$mode.key -v ${CIPHERDIR}/$mode.iv -p $reps -o ${CIPHERDIR}/$mode.out"
bltest -E -m $mode -i ${CIPHERDIR}/$mode.in -k ${CIPHERDIR}/$mode.key -v ${CIPHERDIR}/$mode.iv -p $reps -o ${CIPHERDIR}/$mode.out >> ${SKPERFOUT}
echo "bltest -D -m $mode -i ${CIPHERDIR}/$mode.out -k ${CIPHERDIR}/$mode.key -v ${CIPHERDIR}/$mode.iv -p $reps -o ${CIPHERDIR}/$mode.inv"
bltest -D -m $mode -i ${CIPHERDIR}/$mode.out -k ${CIPHERDIR}/$mode.key -v ${CIPHERDIR}/$mode.iv -p $reps -o ${CIPHERDIR}/$mode.inv >> ${SKPERFOUT}
fi
done < ${SKTESTS}
while read md buf sk rps cxrps cx op
do
if [ $md != "#" ]; then
echo "<TR><TH>$md</TH><TD align=right>$buf</TD><TD align=right>$sk</TD><TD align=right>$cxrps/$rps</TD><TD align=right>$cx</TD><TD align=right>$op</TD></TR>" >> ${PERFRESULTS}
fi
done < ${SKPERFOUT}
echo "</TABLE><BR>" >> ${PERFRESULTS}
fi
if [ $TESTSET = "all" -o $TESTSET = "rsa" ]; then
while read mode keysize bufsize exp reps cxreps
do
if [ $mode != "#" ]; then
echo "bltest -N -m $mode -b $bufsize -e $exp -g $keysize -u $cxreps"
bltest -N -m $mode -b $bufsize -e $exp -g $keysize -u $cxreps >> ${RSAPERFOUT}
mv "tmp.in" "$mode.in"
mv tmp.key $mode.key
echo "bltest -E -m $mode -i ${CIPHERDIR}/$mode.in -k ${CIPHERDIR}/$mode.key -p $reps -o ${CIPHERDIR}/$mode.out"
bltest -E -m $mode -i ${CIPHERDIR}/$mode.in -k ${CIPHERDIR}/$mode.key -p $reps -o ${CIPHERDIR}/$mode.out >> ${RSAPERFOUT}
echo "bltest -D -m $mode -i ${CIPHERDIR}/$mode.out -k ${CIPHERDIR}/$mode.key -p $reps -o ${CIPHERDIR}/$mode.inv"
bltest -D -m $mode -i ${CIPHERDIR}/$mode.out -k ${CIPHERDIR}/$mode.key -p $reps -o ${CIPHERDIR}/$mode.inv >> ${RSAPERFOUT}
fi
done < ${RSATESTS}
echo "<TABLE BORDER=1><TR><TH COLSPAN=7>RSA Cipher Performance</TH></TR>" >> ${PERFRESULTS}
echo "<TR bgcolor=lightGreen><TH>MODE</TH><TH>INPUT SIZE (bytes)</TH><TH>KEY SIZE (bits)</TH><TH>PUBLIC EXPONENT</TH><TH>REPETITIONS (cx/op)</TH><TH>CONTEXT CREATION TIME (ms)</TH><TH>OPERATION TIME (ms)</TH></TR>" >> ${PERFRESULTS}
while read md buf mod pe rps cxrps cx op
do
if [ $md != "#" ]; then
echo "<TR><TH>$md</TH><TD align=right>$buf</TD><TD align=right>$mod</TD><TD align=right>$pe</TD><TD align=right>$cxrps/$rps</TD><TD align=right>$cx</TD><TD align=right>$op</TD></TR>" >> ${PERFRESULTS}
fi
done < ${RSAPERFOUT}
echo "</TABLE><BR>" >> ${PERFRESULTS}
fi
if [ $TESTSET = "all" -o $TESTSET = "dsa" ]; then
while read mode keysize bufsize reps cxreps
do
if [ $mode != "#" ]; then
echo "bltest -N -m $mode -b $bufsize -g $keysize -u $cxreps"
bltest -N -m $mode -b $bufsize -g $keysize -u $cxreps >> ${DSAPERFOUT}
mv "tmp.in" "$mode.in"
mv tmp.key $mode.key
echo "bltest -S -m $mode -i ${CIPHERDIR}/$mode.in -k ${CIPHERDIR}/$mode.key -p $reps -o ${CIPHERDIR}/$mode.out"
bltest -S -m $mode -i ${CIPHERDIR}/$mode.in -k ${CIPHERDIR}/$mode.key -p $reps -o ${CIPHERDIR}/$mode.out >> ${DSAPERFOUT}
echo "bltest -V -m $mode -f ${CIPHERDIR}/$mode.out -k ${CIPHERDIR}/$mode.key -p $reps -i ${CIPHERDIR}/$mode.in -o ${CIPHERDIR}/$mode.out"
bltest -V -m $mode -f ${CIPHERDIR}/$mode.out -k ${CIPHERDIR}/$mode.key -p $reps -i ${CIPHERDIR}/$mode.in -o ${CIPHERDIR}/$mode.out >> ${DSAPERFOUT}
fi
done < ${DSATESTS}
echo "<TABLE BORDER=1><TR><TH COLSPAN=6>DSA Cipher Performance</TH></TR>" >> ${PERFRESULTS}
echo "<TR bgcolor=lightGreen><TH>MODE</TH><TH>INPUT SIZE (bytes)</TH><TH>KEY SIZE (bits)</TH><TH>REPETITIONS (cx/op)</TH><TH>CONTEXT CREATION TIME (ms)</TH><TH>OPERATION TIME (ms)</TH></TR>" >> ${PERFRESULTS}
while read md buf mod rps cxrps cx op
do
if [ $md != "#" ]; then
echo "<TR><TH>$md</TH><TD align=right>$buf</TD><TD align=right>$mod</TD><TD align=right>$cxrps/$rps</TD><TD align=right>$cx</TD><TD align=right>$op</TD></TR>" >> ${PERFRESULTS}
fi
done < ${DSAPERFOUT}
echo "</TABLE><BR>" >> ${PERFRESULTS}
fi
if [ $TESTSET = "all" -o $TESTSET = "hash" ]; then
while read mode bufsize reps
do
if [ $mode != "#" ]; then
echo "bltest -N -m $mode -b $bufsize"
bltest -N -m $mode -b $bufsize
mv "tmp.in" "$mode.in"
echo "bltest -H -m $mode -i ${CIPHERDIR}/$mode.in -p $reps -o ${CIPHERDIR}/$mode.out"
bltest -H -m $mode -i ${CIPHERDIR}/$mode.in -p $reps -o ${CIPHERDIR}/$mode.out >> ${HASHPERFOUT}
fi
done < ${HASHTESTS}
echo "<TABLE BORDER=1><TR><TH COLSPAN=6>Hash Cipher Performance</TH></TR>" >> ${PERFRESULTS}
echo "<TR bgcolor=lightGreen><TH>MODE</TH><TH>INPUT SIZE (bytes)</TH><TH>REPETITIONS</TH><TH>OPERATION TIME (ms)</TH></TR>" >> ${PERFRESULTS}
while read md buf rps cxrps cx op
do
if [ $md != "#" ]; then
echo "<TR><TH>$md</TH><TD align=right>$buf</TD><TD align=right>$rps</TD><TD align=right>$op</TD></TR>" >> ${PERFRESULTS}
fi
done < ${HASHPERFOUT}
echo "</TABLE><BR>" >> ${PERFRESULTS}
fi
#rm -f ${TEMPFILES}
cd ${CURDIR}
echo "</BODY></HTML>" >> ${PERFRESULTS}
|