Allow SHA256 and SHA384 data hash for BLISS signatures.

The default is SHA512 since this hash function is also
used for the c_indices random oracle.
This commit is contained in:
Andreas Steffen
2015-02-26 08:56:12 +01:00
parent a7f0ab786d
commit 27bd0fed93
17 changed files with 133 additions and 42 deletions
@@ -43,6 +43,8 @@ ENUM(signature_scheme_names, SIGN_UNKNOWN, SIGN_BLISS_WITH_SHA512,
"ECDSA-256",
"ECDSA-384",
"ECDSA-521",
"BLISS_WITH_SHA256",
"BLISS_WITH_SHA384",
"BLISS_WITH_SHA512",
);
@@ -136,6 +138,10 @@ signature_scheme_t signature_scheme_from_oid(int oid)
case OID_BLISS_PUBLICKEY:
case OID_BLISS_WITH_SHA512:
return SIGN_BLISS_WITH_SHA512;
case OID_BLISS_WITH_SHA256:
return SIGN_BLISS_WITH_SHA256;
case OID_BLISS_WITH_SHA384:
return SIGN_BLISS_WITH_SHA384;
default:
return SIGN_UNKNOWN;
}
@@ -93,6 +93,10 @@ enum signature_scheme_t {
SIGN_ECDSA_384,
/** ECDSA on the P-521 curve with SHA-512 as in RFC 4754 */
SIGN_ECDSA_521,
/** BLISS with SHA-256 */
SIGN_BLISS_WITH_SHA256,
/** BLISS with SHA-384 */
SIGN_BLISS_WITH_SHA384,
/** BLISS with SHA-512 */
SIGN_BLISS_WITH_SHA512,
};