Developer Reference

Contents

RSASign_PSS

Carries out the RSASSA-PSS signature generation scheme.

Syntax

IppStatus ippsRSASign_PSS
(
const Ipp8u*
pMsg
int
msgLen
, const Ipp8u*
pSalt
int
saltLen
Ipp8u*
pSign
, const IppsRSAPrivateKeyState*
pPrivateKey
, const IppsRSAPublicKeyState*
pPublicKeyOpt
, IppHashAlgId
hashAlg
, Ipp8u*
pBuffer
);
IppStatus ippsRSASign_PSS_rmf
(
const Ipp8u*
pMsg
int
msgLen
, const Ipp8u*
pSalt
int
saltLen
Ipp8u*
pSign
, const IppsRSAPrivateKeyState*
pPrivateKey
, const IppsRSAPublicKeyState*
pPublicKeyOpt
, const IppsHashMethod*
pMethod
, Ipp8u*
pBuffer
);
Include Files
ippcp.h
Parameters
pMsg
Pointer to the octet message to be signed.
msgLen
Length of the input
*pMsg
message in octets.
pSalt
Pointer to the random octet salt string.
saltLen
Length of the salt string in octets.
pSign
Pointer to the output octet signature.
pPrivateKey
Pointer to the properly initialized
IppsRSAPrivateKeyState
context.
pPublicKeyOpt
Pointer to the properly initialized optional
IppsRSAPublicKeyState
context.
hashAlg
Identifier of the hash algorithm. For details, see table Supported Hash Algorithms.
pMethod
Pointer to the hash method. For details, see HashMethod functions.
pBuffer
Pointer to a temporary buffer of size not less than returned by each of the functions
RSA_GetBufferSizePrivateKey
and
RSA_GetBufferSizePublicKeyKey
.
Description
The function generates the message signature according to the RSASSA-PSS scheme defined in [PKCS 1.2.1] using the hash algorithm defined by the
hashAlg
or
pMethod
parameter.
If you are using an RSA private key type 2 to generate the signature, you can use the optional
*pPublicKeyOpt
parameter to mitigate Fault Attack. If you are using an RSA private key type 1 or sure that Fault Attack is not applicable,
pPublicKeyOpt
can be
NULL
. Passing the
NULL
value to the
pPublicKeyOpt
parameter saves computation time.
This function has a
reduced memory footprint
version. To learn more, see Reduced Memory Footprint Functions.
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 is
NULL
.
ippStsContextMatchErr
Indicates an error condition if any of the context parameters does not match the operation.
ippStsIncompleteContextErr
Indicates an error condition if the public or private key is not set up.
ippStsLengthErr
Indicates an error condition if the value of
saltLen
is negative or any input/output length parameters are inconsistent with one another together (see [PKCS 1.2.1] for details).
ippsStsNotSupportedModeErr
Indicates an error condition if the
hashAlg
parameter does not match any value of
IppHashAlgId
listed in table Supported Hash Algorithms.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.