diff options
Diffstat (limited to 'security/nss/cmd/fipstest/aes.sh')
-rw-r--r-- | security/nss/cmd/fipstest/aes.sh | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/security/nss/cmd/fipstest/aes.sh b/security/nss/cmd/fipstest/aes.sh new file mode 100644 index 000000000..7e25e60d2 --- /dev/null +++ b/security/nss/cmd/fipstest/aes.sh @@ -0,0 +1,112 @@ +#!/bin/sh +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# +# A Bourne shell script for running the NIST AES Algorithm Validation Suite +# +# Before you run the script, set your PATH, LD_LIBRARY_PATH, ... environment +# variables appropriately so that the fipstest command and the NSPR and NSS +# shared libraries/DLLs are on the search path. Then run this script in the +# directory where the REQUEST (.req) files reside. The script generates the +# RESPONSE (.rsp) files in the same directory. + +BASEDIR=${1-.} +TESTDIR=${BASEDIR}/AES +COMMAND=${2-run} +REQDIR=${TESTDIR}/req +RSPDIR=${TESTDIR}/resp + +cbc_kat_requests=" +CBCGFSbox128.req +CBCGFSbox192.req +CBCGFSbox256.req +CBCKeySbox128.req +CBCKeySbox192.req +CBCKeySbox256.req +CBCVarKey128.req +CBCVarKey192.req +CBCVarKey256.req +CBCVarTxt128.req +CBCVarTxt192.req +CBCVarTxt256.req +" + +cbc_mct_requests=" +CBCMCT128.req +CBCMCT192.req +CBCMCT256.req +" + +cbc_mmt_requests=" +CBCMMT128.req +CBCMMT192.req +CBCMMT256.req +" + +ecb_kat_requests=" +ECBGFSbox128.req +ECBGFSbox192.req +ECBGFSbox256.req +ECBKeySbox128.req +ECBKeySbox192.req +ECBKeySbox256.req +ECBVarKey128.req +ECBVarKey192.req +ECBVarKey256.req +ECBVarTxt128.req +ECBVarTxt192.req +ECBVarTxt256.req +" + +ecb_mct_requests=" +ECBMCT128.req +ECBMCT192.req +ECBMCT256.req +" + +ecb_mmt_requests=" +ECBMMT128.req +ECBMMT192.req +ECBMMT256.req +" + +if [ ${COMMAND} = "verify" ]; then + for request in $cbc_kat_requests $cbc_mct_requests $cbc_mmt_requests $ecb_kat_requests $ecb_mct_requests $ecb_mmt_requests; do + sh ./validate1.sh ${TESTDIR} $request + done + exit 0 +fi + +for request in $cbc_kat_requests; do + response=`echo $request | sed -e "s/req/rsp/"` + echo $request $response + fipstest aes kat cbc ${REQDIR}/$request > ${RSPDIR}/$response +done +for request in $cbc_mct_requests; do + response=`echo $request | sed -e "s/req/rsp/"` + echo $request $response + fipstest aes mct cbc ${REQDIR}/$request > ${RSPDIR}/$response +done +for request in $cbc_mmt_requests; do + response=`echo $request | sed -e "s/req/rsp/"` + echo $request $response + fipstest aes mmt cbc ${REQDIR}/$request > ${RSPDIR}/$response +done +for request in $ecb_kat_requests; do + response=`echo $request | sed -e "s/req/rsp/"` + echo $request $response + fipstest aes kat ecb ${REQDIR}/$request > ${RSPDIR}/$response +done +for request in $ecb_mct_requests; do + response=`echo $request | sed -e "s/req/rsp/"` + echo $request $response + fipstest aes mct ecb ${REQDIR}/$request > ${RSPDIR}/$response +done +for request in $ecb_mmt_requests; do + response=`echo $request | sed -e "s/req/rsp/"` + echo $request $response + fipstest aes mmt ecb ${REQDIR}/$request > ${RSPDIR}/$response +done |