Chapter 7 Public-Key Operations 297
Performing Elliptic Curve Operations
Step 5: Final
Pass in the signature that was received with the message. B_VerifyFinal returns 0 if
the signature verifies, or an error if it is an invalid signature:
Step 6: Destroy
Destroy all objects that are no longer needed:
Using ECAES
You can use the Elliptic Curve Authenticated Encryption System (ECAES) to perform
public-key encryption. The example in this section corresponds to the file eces.c.
You will encrypt the following:
if ((status = B_VerifyUpdate (ecDSAVerify, dataToSign, dataToSignLen,
(A_SURRENDER_CTX *)NULL_PTR)) != 0)
break;
if ((status = B_VerifyFinal (ecDSAVerify, signature, signatureLen,
(B_ALGORITHM_OBJ)NULL_PTR,
(A_SURRENDER_CTX *)NULL_PTR)) != 0)
break;
T_free(signature);
B_DestoryAlgorithmObject (&ecDSAVerify);
unsigned char *dataToEncrypt = Encrypt this arbitrarily long sentence
using ECAES!;
unsigned int dataToEncryptLen = sizeof(dataToEncrypt) + 1;