-
Notifications
You must be signed in to change notification settings - Fork 77
Description
Barring detailed implementation knowledge, we derived the following results from studying the test vectors using the standard key type:
-
CAVS: a valid key pair is generated using e=0x10001 from which n and d are sent to the IUT
-
ACVP: seemingly random values for n and d are generated without using a known e and without using p and q factors to construct d.
Our IUT has an issue with the ACVP approach: The modular exponentiation logic requires a valid key (n, d) as otherwise the key components are not accepted. Changing this logic for testing is not possible as it would completely alter the IUT which would make the test results irrelevant for the real-life logic.
Further, our IUT implements an additional step which requires the knowledge of e. It is certainly possible to deactivate the additional step for testing if the ACVP implementation cannot be changed.
Thus, may we ask:
-
the (n, d) key should be a valid key derived from proper p/q values
-
if possible, the (n, d) key pair should have a fixed e
Note: the ACVP test vectors for RSASP1 do not work with https://nmichaels.org/rsa.py whereas CAVS does.