Cryptographic Token Interface Standard

PKCS#11


PKCS #1 RSA PSS

The PKCS #1 RSA PSS mechanism, denoted CKM_RSA_PKCS_PSS, is a mechanism based on the RSA public-key cryptosystem and the PSS block format defined in PKCS #1. It supports single-part signature generation and verification without message recovery. This mechanism corresponds only to the part of PKCS #1 that involves block formatting and RSA, given a hash value; it does not compute a hash value on the message to be signed.

It has a parameter, a CK_RSA_PKCS_PSS_PARAMS structure. The sLen field must be less than or equal to k* -2-hLen and hLen is the length of the input to the C_Sign or C_Verify function. k* is the length in bytes of the RSA modulus, except if the length in bits of the RSA modulus is one more than a multiple of 8, in which case k* is one less than the length in bytes of the RSA modulus.

Constraints on key types and the length of the data are summarized in the following table. In the table, k is the length in bytes of the RSA.

Table 41, PKCS #1 RSA PSS: Key And Data Length
Function Key type
Input length
Output length
C_Sign1 RSA private key
hLen
k
C_Verify1 RSA public key
hLen, k
N/A

1 Single-part operations only.

2 Data length, signature length.

For this mechanism, the ulMinKeySize and ulMaxKeySize fields of the CK_MECHANISM_INFO structure specify the supported range of RSA modulus sizes, in bits.


RSA Security Inc. Public-Key Cryptography Standards - PKCS#11 - v220