[Cryptech-Commits] [sw/libhal] 03/03: Add attribute read timing tests.
git at cryptech.is
git at cryptech.is
Sat Nov 5 18:59:43 UTC 2016
This is an automated email from the git hooks/post-receive script.
sra at hactrn.net pushed a commit to branch ksng
in repository sw/libhal.
commit 86701154b036ff0d3ab2e7733d3dfaecd1f7b87a
Author: Rob Austein <sra at hactrn.net>
AuthorDate: Sat Nov 5 14:54:20 2016 -0400
Add attribute read timing tests.
Result of running all these timing tests is about what theory would
have predicted: read time does not vary significantly between RAM and
flash, but write time sure does.
---
unit-tests.py | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 file changed, 60 insertions(+), 4 deletions(-)
diff --git a/unit-tests.py b/unit-tests.py
index 3f74b36..ca18e3a 100644
--- a/unit-tests.py
+++ b/unit-tests.py
@@ -614,7 +614,7 @@ class TestPKeyAttribute(TestCaseLoggedIn):
self.load_and_fill(HAL_KEY_FLAG_TOKEN, n_attrs = 16, n_fill = 1024)
-class TestPKeyAttributeSpeedToken(TestCaseLoggedIn):
+class TestPKeyAttributeWriteSpeedToken(TestCaseLoggedIn):
"""
Attribute speed tests.
"""
@@ -623,7 +623,7 @@ class TestPKeyAttributeSpeedToken(TestCaseLoggedIn):
der = PreloadedKey.db[HAL_KEY_TYPE_EC_PRIVATE, HAL_CURVE_P256].der
self.k = hsm.pkey_load(HAL_KEY_TYPE_EC_PRIVATE, HAL_CURVE_P256, der, HAL_KEY_FLAG_TOKEN)
self.addCleanup(self.k.delete)
- super(TestPKeyAttributeSpeedToken, self).setUp()
+ super(TestPKeyAttributeWriteSpeedToken, self).setUp()
def set_attributes(self, n_attrs):
pinwheel = Pinwheel()
@@ -640,7 +640,7 @@ class TestPKeyAttributeSpeedToken(TestCaseLoggedIn):
def test_set_12_attributes(self):
self.set_attributes(12)
-class TestPKeyAttributeSpeedVolatile(TestCaseLoggedIn):
+class TestPKeyAttributeWriteSpeedVolatile(TestCaseLoggedIn):
"""
Attribute speed tests.
"""
@@ -649,7 +649,7 @@ class TestPKeyAttributeSpeedVolatile(TestCaseLoggedIn):
der = PreloadedKey.db[HAL_KEY_TYPE_EC_PRIVATE, HAL_CURVE_P256].der
self.k = hsm.pkey_load(HAL_KEY_TYPE_EC_PRIVATE, HAL_CURVE_P256, der, 0)
self.addCleanup(self.k.delete)
- super(TestPKeyAttributeSpeedVolatile, self).setUp()
+ super(TestPKeyAttributeWriteSpeedVolatile, self).setUp()
def set_attributes(self, n_attrs):
for i in xrange(n_attrs):
@@ -665,6 +665,62 @@ class TestPKeyAttributeSpeedVolatile(TestCaseLoggedIn):
self.set_attributes(12)
+class TestPKeyAttributeReadSpeedToken(TestCaseLoggedIn):
+ """
+ Attribute speed tests.
+ """
+
+ def setUp(self):
+ der = PreloadedKey.db[HAL_KEY_TYPE_EC_PRIVATE, HAL_CURVE_P256].der
+ self.k = hsm.pkey_load(HAL_KEY_TYPE_EC_PRIVATE, HAL_CURVE_P256, der, HAL_KEY_FLAG_TOKEN)
+ self.addCleanup(self.k.delete)
+ self.k.set_attribute(0, "Attribute 0")
+ super(TestPKeyAttributeReadSpeedToken, self).setUp()
+
+ def get_attributes(self, n_attrs):
+ pinwheel = Pinwheel()
+ for i in xrange(n_attrs):
+ pinwheel()
+ self.k.get_attribute(0)
+
+ def test_get_1_attribute(self):
+ self.get_attributes(1)
+
+ def test_get_6_attributes(self):
+ self.get_attributes(6)
+
+ def test_get_12_attributes(self):
+ self.get_attributes(12)
+
+class TestPKeyAttributeReadSpeedVolatile(TestCaseLoggedIn):
+ """
+ Attribute speed tests.
+ """
+
+ def setUp(self):
+ der = PreloadedKey.db[HAL_KEY_TYPE_EC_PRIVATE, HAL_CURVE_P256].der
+ self.k = hsm.pkey_load(HAL_KEY_TYPE_EC_PRIVATE, HAL_CURVE_P256, der, 0)
+ self.addCleanup(self.k.delete)
+ self.k.set_attribute(0, "Attribute 0")
+ super(TestPKeyAttributeReadSpeedVolatile, self).setUp()
+
+ def get_attributes(self, n_attrs):
+ pinwheel = Pinwheel()
+ for i in xrange(n_attrs):
+ pinwheel()
+ self.k.get_attribute(0)
+
+ def test_get_1_attribute(self):
+ self.get_attributes(1)
+
+ def test_get_6_attributes(self):
+ self.get_attributes(6)
+
+ def test_get_12_attributes(self):
+ self.get_attributes(12)
+
+
+
@unittest.skipUnless(ecdsa_loaded, "Requires Python ECDSA package")
class TestPkeyECDSAVerificationNIST(TestCaseLoggedIn):
"""
More information about the Commits
mailing list