larabr b5f139b3f7 Randomise v4 and v5 EdDSA signatures via custom notation, add config.nonDeterministicEdDSASignaturesViaNotation to disable feature
EdDSA is known to be vulnerable to fault attacks which can lead to secret key extraction if
two signatures over the same data can be collected.
Randomly occurring bitflips in specific parts of the computation might in principle result
in vulnerable faulty signatures being generated.
To protect signatures generated using v4 and v5 keys from this possibility, we randomise each
signature by adding a custom notation with a random value, functioning as a salt.
v6 signatures do not need to rely on this, as they are non-deterministic by design.

While this notation solution is interoperable, it will reveal that the signature has been generated using OpenPGP.js,
which may not be desirable in some cases.
For this reason, the option `config.nonDeterministicEdDSASignaturesViaNotation` (defaulting to true) has been added
to turn off the feature.
2024-03-26 17:11:44 +01:00
..