You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The reference implementation parses points as 256 bit integers which it reduces modulo 2^255-19. Your code masks out the last bit. So it interprets (non canonical) keys where the last bit is set differently.
I think replacing F(9, 28, 6, 0x1ffffff); with F(9, 28, 6, 0x3ffffff); should fix it.
Most participants prefer ignoring the bit. Personally I prefer ignoring the bit, but care more about interoperability than about the difference between these choices.
Ref and Ref10 in SUPERCOP have switched to ignoring the bit
The reference implementation parses points as 256 bit integers which it reduces modulo 2^255-19. Your code masks out the last bit. So it interprets (non canonical) keys where the last bit is set differently.
I think replacing
F(9, 28, 6, 0x1ffffff);
withF(9, 28, 6, 0x3ffffff);
should fix it.Some test vectors from the implementation I use:
should be equivalent to
and
should be equivalent to
The text was updated successfully, but these errors were encountered: