Hi all!

We are using the rsassa-pss algorithm for verifying corresponding
signatures. In the PKCS#1 V2.1 the RSASSA-PSS-params are defined as
follows: 

RSASSA-PSS-params ::= SEQUENCE { 
        hashAlgorithm [0] HashAlgorithm DEFAULT sha1, 
        maskGenAlgorithm [1] MaskGenAlgorithm DEFAULT mgf1SHA1, 
        saltLength [2] INTEGER DEFAULT 20, 
        trailerField [3] TrailerField DEFAULT trailerFieldBC 
} 

Unfortunately in the PSSR_MEM class the salt length is a template
parameter:

template <bool ALLOW_RECOVERY, class MGF=P1363_MGF1, int SALT_LEN=-1,
int MIN_PAD_LEN=0, bool USE_HASH_ID=false>
class PSSR_MEM : public PSSR_MEM_BaseWithHashId<USE_HASH_ID>
...

So it is not possible to set this parameter during runtime after
evaluation of the PKCS#1 parameters above. Is there a solution besides
reprogramming the PSSR_MEM class? Or any other idea how to set the salt
len during runtime? The number of hash algorithms is concise, the number
of integers isn't :-)

Besides: I know, it makes no real sense to set the salt independently
from the hash algorithm, but there definitely are commercial products,
which e.g. are using SHA-256 with a salt of 20 bytes, so we need the
dynamic parameter.

Best regards

-----
Norbert A. Richartz

Reply via email to