Developer Reference

Contents

RSA_MB_Sign_PSS_rmf

Performs RSA multi-buffer signature generation using RSASSA-PSS scheme.

Syntax

IppStatus ippsRSA_MB_Sign_PSS_rmf
(
const Ipp8u*
pMsgs[8]
,
const int
msgLens[8]
, const Ipp8u*
pSalts[8]
,
const int
saltLens[8]
,
Ipp8u*
pSignts[8]
, const IppsRSAPrivateKeyState*
pPrvKeys[8]
, const IppsRSAPublicKeyState*
pPubKeys[8]
, const IppsHashMethod*
pMethod
, IppStatus
statuses[8]
, Ipp8u*
pBuffer
);
Include Files
ippcp.h
Parameters
pMsgs[8]
Pointer to the array of messages to be signed.
msgLens[8]
Pointer to the array of messages lengths.
pSalts[8]
Pointer to the array of random octet salt strings.
saltLens[8]
Pointer to the array of salts lengths.
pSignts[8]
Pointer to the array of output signatures.
pPrvKeys[8]
Pointer to the array of preliminary initialized
IppsRSAPrivateKeyState
contexts.
pPubKeys[8]
Pointer to the array of preliminary initialized
IppsRSAPublicKeyState
contexts.
pMethod
Pointer to the hash method. For details, see HashMethod functions.
statuses[8]
Pointer to the array of execution statuses for each performed operation.
pBuffer
Pointer to a temporary buffer. The size of the buffer must be not less than the value returned by the
RSA_MB_GetBufferSizePrivateKey
and
RSA_MB_GetBufferSizePublicKey
functions.
Description
This function generates the message signature according to the RSASSA-PSS scheme defined in [PKCS 1.2.1]. The function can perform up to 8 signature generation operations at once.
Specify parameters for each single signature generation operation under the corresponding index in an input array in accordance with the
ippsRSASign_PSS_rmf
function API requirements.
To perform less than 8 operations, set one or more pointers to a context in input context arrays to NULL. In this case, each single operation with the context set to NULL will not be performed, and the function will return
ippStsMbWarning
. Once the function execution is completed, the statuses array will contain return codes for each single signature generation operation according to the
ippsRSASign_PSS_rmf
return values.
  • Sizes of all moduli
    n
    in all
    IppsRSAPublicKeyState
    contexts in the
    pPubKeys
    array must be equal.
  • Sizes and values of all public exponents
    e
    in all
    IppsRSAPublicKeyState
    contexts in the
    pPubKeys
    array must be equal.
  • Types of RSA private keys must be equal.
Return Values
ippStsNoErr
Indicates no error. All single operations executed without errors. Any other value indicates an error or warning.
ippStsMbWarning
One or more of performed operations executed with error. Check statuses array for details.
ippStsNullPtrErr
Any of the input parameters is a NULL pointer.
ippStsSizeErr
Indicates a mismatch between moduli
n
sizes in the input contexts.
ippStsBadArgErr
Indicates a mismatch between types of private keys or exponents
e
in public keys.
ippStsContextMatchErr
No valid keys were found.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804