GFpECPSignDSA, GFpECPSignNR, GFpECPSignSM2
GFpECPSignDSA
, GFpECPSignNR
, GFpECPSignSM2
Computes a digital signature over a message digest.
Syntax
IppStatus ippsGFpECSignDSA(const IppsBigNumState*
pMsgDigest
, const IppsBigNumState*
pRegPrivate
, const IppsBigNumState*
pEphPrivate
, IppsBigNumState*
pSignR
, IppsBigNumState*
pSignS
, IppsGFpECState*
pEC
, Ipp8u*
pScratchBuffer
);
IppStatus ippsGFpECSignNR(const IppsBigNumState*
pMsgDigest
, const IppsBigNumState*
pRegPrivate
, const IppsBigNumState*
pEphPrivate
, IppsBigNumState*
pSignR
, IppsBigNumState*
pSignS
, IppsGFpECState*
pEC
, Ipp8u*
pScratchBuffer
);
IppStatus ippsGFpECSignSM2(const IppsBigNumState*
pMsgDigest
, const IppsBigNumState*
pRegPrivate
, const IppsBigNumState*
pEphPrivate
, IppsBigNumState*
pSignR
, IppsBigNumState*
pSignS
, IppsGFpECState*
pEC
, Ipp8u*
pScratchBuffer
);
Include Files
ippcp.h
Parameters
- pMsgDigest
- Pointer to the message digestmsgto be digitally signed, that is, to be ecrypted with a private key.
- pRegPrivate
- Pointer to the regular private key of the signer.
- pEphPrivate
- Pointer to the ephemeral private key of the signer.
- pSignR
- Pointer to the integerrof the digital signature.
- pSignS
- Pointer to the integersof the digital signature.
- pEC
- Pointer to the context of the elliptic curve.
- pScratchBuffer
- Pointer to the scratch buffer.
Description
Functions generate a digital signature respectively to DSA [IEEE P1362A], Nyberg-Rueppel [IEEE P1362A] and SM2 [SM2] schemes.
Return Values
- ippStsNoErr
- Indicates no error. Any other value indicates an error or warning.
- ippStsNullPtrErr
- Indicates an error condition if any of the specified pointers isNULL.
- ippStsContextMatchErr
- Indicates an error condition if any of the contexts pointed to bypMsgDigest,pRegPrivate,pEphPrivate,pSignR,pSignS, orpECdoes not match the operation.
- ippStsMessageErr
- Indicates an error condition if the value ofmsgpointed to bypMsgDigestfalls outside the range of [1,n-1], wherenis the order of the elliptic curve base pointG.
- ippStsRangeErr
- Indicates an error condition if any of the parameters pointed to bypSignRorpSignShas memory size that is smaller than the ordernof the elliptic curve base pointG.
- ippStsIvalidPrivateKey
- Indicates an error condition if any of the parameters pointed to bypRegPrivateorpEphPrivatehas memory size that is smaller than the ordernof the elliptic curve base pointG.
- ippStsNotSupportedModeErr
- Indicates an error condition if the finite field GFp under the elliptic curve is not prime.
- ippStsEphemeralKeyErr
- Indicates an error condition if values of the ephemeral keysephPrivKeyandephPubKeyare not valid: the digital signature calculation returnsr=0 ors=0 as a result.