Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The crate is marked specifically as not suitable for production, but I wanted to see if things would work. I found issues with the
Sizage
tables.The problems occured due to the representation of a compressed point as 57 octets, where the codes for
Ed448_Seed
andX448
only allow for exactly 448 bits (56 octets). I suppose we could try to avoid encoding the sign but the spec says to use 57 bytes:https://www.rfc-editor.org/rfc/rfc8032
See Section 5.2.6, for an example.
76 b64 chars - 1 code char = 75 b64 chars * 3 octets / 4 b64 chars = 56.25 octets. We also can't (not that we should) abuse that 0.25 because padding checks will explode.
The other codes for public keys were correct in length, with
fs
== 80 and a 4 char code, leaving 76 b64 chars = 57 octets.Incorrect, however, was the
Matter
/Cigar
signature length which was indicated to befs
== 56, when in reality 156 is the correct value for a 4 char code (152 b64 chars = 114 octets).