• Stephan Mueller's avatar
    crypto: ecdh - add public key verification test · ea169a30
    Stephan Mueller authored
    According to SP800-56A section 5.6.2.1, the public key to be processed
    for the ECDH operation shall be checked for appropriateness. When the
    public key is considered to be an ephemeral key, the partial validation
    test as defined in SP800-56A section 5.6.2.3.4 can be applied.
    
    The partial verification test requires the presence of the field
    elements of a and b. For the implemented NIST curves, b is defined in
    FIPS 186-4 appendix D.1.2. The element a is implicitly given with the
    Weierstrass equation given in D.1.2 where a = p - 3.
    
    Without the test, the NIST ACVP testing fails. After adding this check,
    the NIST ACVP testing passes.
    Signed-off-by: default avatarStephan Mueller <smueller@chronox.de>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    ea169a30
ecc_curve_defs.h 2.08 KB