Added X25519 and X448 exchange test.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
This commit is contained in:
Pol Henarejos
2023-08-23 16:42:34 +02:00
parent 0e1c82196a
commit e18c413268

View File

@@ -20,7 +20,7 @@
import pytest
import hashlib
from picohsm import DOPrefixes
from cryptography.hazmat.primitives.asymmetric import ec
from cryptography.hazmat.primitives.asymmetric import ec, x25519, x448
from picohsm.const import DEFAULT_RETRIES, DEFAULT_DKEK_SHARES
from const import DEFAULT_DKEK
@@ -51,3 +51,24 @@ def test_exchange_ecc(device, curve):
device.delete_file(DOPrefixes.KEY_PREFIX, keyid)
device.delete_file(DOPrefixes.EE_CERTIFICATE_PREFIX, keyid)
@pytest.mark.parametrize(
"curve", [x25519.X25519PrivateKey, x448.X448PrivateKey]
)
def test_exchange_montgomery(device, curve):
pkeyA = curve.generate()
pbkeyA = pkeyA.public_key()
keyid = device.import_key(pkeyA)
pkeyB = curve.generate()
pbkeyB = pkeyB.public_key()
sharedB = pkeyB.exchange(pbkeyA)
sharedA = device.exchange(keyid, pbkeyB)
assert(sharedA == sharedB)
sharedAA = pkeyA.exchange(pbkeyB)
assert(sharedA == sharedAA)
device.delete_file(DOPrefixes.KEY_PREFIX, keyid)
device.delete_file(DOPrefixes.EE_CERTIFICATE_PREFIX, keyid)