Open
Description
The single error case of this TryFrom
is just an invalid length error. There is a host of other problems completely ignored by the current implementation:
- there are sequences of 32 bytes that will structurally not ever be usable as an Ed25519 Public Key in any way,
- there are sequences of 32 bytes that will 100% be usable as an Ed25519 Public Key, but that demonstrably and unambiguously aim at tricking anybody who does so.
The above takes exactly none of that into account. Further, several of those checks will not be performed by check_internal
's dalek::PublicKey::from_bytes
(and the library has a nice warning to mention some of that).
I admit it's probably a completely orthogonal point to this PR, and worth tackling in a different issue (probably extracted from this comment), but I'd appreciate a spectacular comment on PublicKeyBytes
making this clear. Here is an example of my personal minimum bar for the word "spectacular".
Originally posted by @huitseeker in MystenLabs/sui#94 (comment)