-
Notifications
You must be signed in to change notification settings - Fork 167
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Use fixed-length integers to improve cross-platform compatibility #492
Comments
Additional notes: this probably needs a major version change, as the fields are involved in the hashes. So if a 64-bit machine stored the fields as However, #493 suggests that this never worked on a 32-bit system. So I think if we change every |
Following #529 , Kyber now compiles and works in both 32-bit and 64-bit architectures. |
I've added you (@AnomalRoil and @K1li4nL) and me as assignees so that we can discuss this and decide together the best way forward ahead of the v4 release. |
Why not changing every |
As discussed in the review of #490 with @ineiti and @howjmay , Kyber uses structures with Go
int
-typed fields, which are unsized. This can lead to differences in serialization and hash computations across different processor architectures.It would be preferable to switch to sized types (
int32
andint64
), which would provide consistent behaviours across platforms.The text was updated successfully, but these errors were encountered: