The composite ML-DSA signature algorithm implemented in org.bouncycastle.jcajce.provider.asymmetric.compositesignatures.SignatureSpi looks like it only supports taking the message M as the input, and not the hash of the message, PH(M). This means that the system running BouncyCastle must have access to the message itself and not just the hash, which may be impractical if the message is large.
Would it be possible to add an option to the composite ML-DSA signature algorithm to support taking the hash of the message PH(M) as the input? This would be similar to ECDSA where you can either use SHA256withECDSA to take a message as an input, or NONEwithECDSA to take a hash as an input.
The composite ML-DSA signature algorithm implemented in
org.bouncycastle.jcajce.provider.asymmetric.compositesignatures.SignatureSpilooks like it only supports taking the messageMas the input, and not the hash of the message,PH(M). This means that the system running BouncyCastle must have access to the message itself and not just the hash, which may be impractical if the message is large.Would it be possible to add an option to the composite ML-DSA signature algorithm to support taking the hash of the message
PH(M)as the input? This would be similar to ECDSA where you can either useSHA256withECDSAto take a message as an input, orNONEwithECDSAto take a hash as an input.