Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Nov 2014 01:09:00 GMT
From:      John-Mark Gurney <jmg@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 1202972 for review
Message-ID:  <201411190109.sAJ1902f087383@skunkworks.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/@@1202972?ac=10

Change 1202972 by jmg@jmg_carbon2 on 2014/11/19 01:08:06

	relocate all the test vectors to the soon to be commited nist-kat
	port...
	
	update runtests.sh so that it will skip the tests, but output
	a notice if the package is not installed...
	
	Sponsored by:	FreeBSD Foundation
	Sponsored by:	Netgate

Affected files ...

.. //depot/projects/opencrypto/tests/sys/opencrypto/CBCGFSbox128.rsp#2 delete
.. //depot/projects/opencrypto/tests/sys/opencrypto/CBCGFSbox192.rsp#2 delete
.. //depot/projects/opencrypto/tests/sys/opencrypto/CBCGFSbox256.rsp#2 delete
.. //depot/projects/opencrypto/tests/sys/opencrypto/CBCKeySbox128.rsp#2 delete
.. //depot/projects/opencrypto/tests/sys/opencrypto/CBCKeySbox192.rsp#2 delete
.. //depot/projects/opencrypto/tests/sys/opencrypto/CBCKeySbox256.rsp#2 delete
.. //depot/projects/opencrypto/tests/sys/opencrypto/CBCVarKey128.rsp#2 delete
.. //depot/projects/opencrypto/tests/sys/opencrypto/CBCVarKey192.rsp#2 delete
.. //depot/projects/opencrypto/tests/sys/opencrypto/CBCVarKey256.rsp#2 delete
.. //depot/projects/opencrypto/tests/sys/opencrypto/CBCVarTxt128.rsp#2 delete
.. //depot/projects/opencrypto/tests/sys/opencrypto/CBCVarTxt192.rsp#2 delete
.. //depot/projects/opencrypto/tests/sys/opencrypto/CBCVarTxt256.rsp#2 delete
.. //depot/projects/opencrypto/tests/sys/opencrypto/HMAC.rsp#2 delete
.. //depot/projects/opencrypto/tests/sys/opencrypto/Makefile#4 edit
.. //depot/projects/opencrypto/tests/sys/opencrypto/TCBCinvperm.rsp#2 delete
.. //depot/projects/opencrypto/tests/sys/opencrypto/TCBCpermop.rsp#2 delete
.. //depot/projects/opencrypto/tests/sys/opencrypto/TCBCsubtab.rsp#2 delete
.. //depot/projects/opencrypto/tests/sys/opencrypto/TCBCvarkey.rsp#2 delete
.. //depot/projects/opencrypto/tests/sys/opencrypto/TCBCvartext.rsp#2 delete
.. //depot/projects/opencrypto/tests/sys/opencrypto/XTSGenAES128.rsp#2 delete
.. //depot/projects/opencrypto/tests/sys/opencrypto/XTSGenAES256.rsp#2 delete
.. //depot/projects/opencrypto/tests/sys/opencrypto/cryptotest.py#4 edit
.. //depot/projects/opencrypto/tests/sys/opencrypto/gcmDecrypt128.rsp#2 delete
.. //depot/projects/opencrypto/tests/sys/opencrypto/gcmDecrypt192.rsp#2 delete
.. //depot/projects/opencrypto/tests/sys/opencrypto/gcmDecrypt256.rsp#2 delete
.. //depot/projects/opencrypto/tests/sys/opencrypto/gcmEncryptExtIV128.rsp#2 delete
.. //depot/projects/opencrypto/tests/sys/opencrypto/gcmEncryptExtIV192.rsp#2 delete
.. //depot/projects/opencrypto/tests/sys/opencrypto/gcmEncryptExtIV256.rsp#2 delete
.. //depot/projects/opencrypto/tests/sys/opencrypto/runtests.sh#3 edit

Differences ...

==== //depot/projects/opencrypto/tests/sys/opencrypto/Makefile#4 (text+ko) ====

@@ -11,31 +11,4 @@
 FILESDIR=	${TESTSDIR}
 FILES=		${PYMODULES}
 
-FILES+=		CBCGFSbox128.rsp
-FILES+=		CBCGFSbox192.rsp
-FILES+=		CBCGFSbox256.rsp
-FILES+=		CBCKeySbox128.rsp
-FILES+=		CBCKeySbox192.rsp
-FILES+=		CBCKeySbox256.rsp
-FILES+=		CBCVarKey128.rsp
-FILES+=		CBCVarKey192.rsp
-FILES+=		CBCVarKey256.rsp
-FILES+=		CBCVarTxt128.rsp
-FILES+=		CBCVarTxt192.rsp
-FILES+=		CBCVarTxt256.rsp
-FILES+=		HMAC.rsp
-FILES+=		TCBCinvperm.rsp
-FILES+=		TCBCpermop.rsp
-FILES+=		TCBCsubtab.rsp
-FILES+=		TCBCvarkey.rsp
-FILES+=		TCBCvartext.rsp
-FILES+=		XTSGenAES128.rsp
-FILES+=		XTSGenAES256.rsp
-FILES+=		gcmDecrypt128.rsp
-FILES+=		gcmDecrypt192.rsp
-FILES+=		gcmDecrypt256.rsp
-FILES+=		gcmEncryptExtIV128.rsp
-FILES+=		gcmEncryptExtIV192.rsp
-FILES+=		gcmEncryptExtIV256.rsp
-
 .include <bsd.test.mk>

==== //depot/projects/opencrypto/tests/sys/opencrypto/cryptotest.py#4 (text+ko) ====

@@ -2,11 +2,17 @@
 
 import cryptodev
 import itertools
+import os
 import struct
 import unittest
 from cryptodev import *
 from glob import iglob
 
+katdir = '/usr/local/share/nist-kat'
+
+def katg(base, glob):
+	return iglob(os.path.join(katdir, base, glob))
+
 aesmodules = [ 'cryptosoft0', 'aesni0', ]
 desmodules = [ 'cryptosoft0', ]
 shamodules = [ 'cryptosoft0', ]
@@ -23,18 +29,18 @@
 		###############
 		@unittest.skipIf(cname not in aesmodules, 'skipping AES on %s' % `cname`)
 		def test_xts(self):
-			for i in iglob('XTS*.rsp'):
+			for i in katg('XTSTestVectors/format tweak value input - data unit seq no', '*.rsp'):
 				self.runXTS(i, cryptodev.CRYPTO_AES_XTS)
 
 		def test_cbc(self):
-			for i in iglob('CBC[GKV]*.rsp'):
+			for i in katg('KAT_AES', 'CBC[GKV]*.rsp'):
 				self.runCBC(i)
 
 		def test_gcm(self):
-			for i in iglob('gcmEncrypt*'):
+			for i in katg('gcmtestvectors', 'gcmEncrypt*'):
 				self.runGCM(i, 'ENCRYPT')
 
-			for i in iglob('gcmDecrypt*'):
+			for i in katg('gcmtestvectors', 'gcmDecrypt*'):
 				self.runGCM(i, 'DECRYPT')
 
 		_gmacsizes = { 32: cryptodev.CRYPTO_AES_256_NIST_GMAC,
@@ -158,7 +164,7 @@
 		###############
 		@unittest.skipIf(cname not in desmodules, 'skipping DES on %s' % `cname`)
 		def test_tdes(self):
-			for i in iglob('TCBC[a-z]*.rsp'):
+			for i in katg('KAT_TDES', 'TCBC[a-z]*.rsp'):
 				self.runTDES(i)
 
 		def runTDES(self, fname):
@@ -200,7 +206,8 @@
 			#	self.runSHA(i)
 
 		def test_sha1hmac(self):
-			self.runSHA1HMAC('HMAC.rsp')
+			for i in katg('hmactestvectors', 'HMAC.rsp'):
+				self.runSHA1HMAC(i)
 
 		def runSHA1HMAC(self, fname):
 			for bogusmode, lines in cryptodev.KATParser(fname,

==== //depot/projects/opencrypto/tests/sys/opencrypto/runtests.sh#3 (text+ko) ====

@@ -2,6 +2,11 @@
 
 set -e
 
+if [ ! -d /usr/local/share/nist-kat ]; then
+	echo 'Skipping, nist-kat package not installed for test vectors.'
+	exit 0
+fi
+
 if kldload aesni 2>/dev/null; then
 	unloadaesni=1
 fi
@@ -14,8 +19,7 @@
 oldcdas=$(sysctl -e kern.cryptodevallowsoft)
 sysctl kern.cryptodevallowsoft=1
 
-cd "$(dirname "$0")"
-python cryptotest.py
+python $(dirname $0)/cryptotest.py
 
 sysctl "$oldcdas"
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201411190109.sAJ1902f087383>