Releases: sigp/milagro_bls
Releases · sigp/milagro_bls
No STD
Small IKMs
Modifies SecretKey::key_generate()
to return a Result
. The error case will arise if IKM is less than 32 bytes.
Splitting Zero
Add an additional check to ensure that if an aggregate public key sums to infinity that it will be considered invalid.
Windows Naming
The Apache Milagro submodule has been updated such that it no longer uses files names with characters that are illegal in windows (e.g. :
).
Stricter AggregatePublicKey and Subgroup Checks
Updates
- Subgroup checks for public keys now occur during deserialisation (alternatively use
PublicKey::from_bytes_unchecked()
) - Subgroup checks for signatures still occur during verification
AggregatePublicKey
has been restricted to prevent adding the point at infinity by removingis_empty
from_bytes()
new()
default()
Secret Key Non-Zero
BLSv4
- Reject Secret Keys that are zero.
- Reject infinity public keys in
fast_aggregate_verify()
.
BLS v04
- Match BLS Signatures Standards version 4
- Disallows
SecretKey = 0; PublicKey = infinity
in generation and validation.
- Disallows
- Match Hash to Curve Standards version 9
- No significant changes
Hash to Curve v07
Updates the underlying hash to curve function to hash-to-curve-v07.
This involves pushing much of the code upstream to Apache Milagro Crypto Library - Rust.
Tight Keys
SecretKeys
have been restricted to 32 bytes.
BLS v02
Updates to match BLS-signatures-v02
Matches BLS v02 naming however still linked hash-to-curve-05