Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DO NOT MERGE: internal/field fiat-crypto playground #80

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

Yawning
Copy link
Contributor

@Yawning Yawning commented Jul 28, 2021

fiat-crypto experimental sandbox (See: #78)

  • fiat-crypto based u64 backend
  • fiat-crypto base u32 backend
  • Investigate performance
    • CarryMul
    • CarrySquare
    • Add/Sub/Opp + Carry(Upstream integrated this).
    • CarrySquare -> CarryPow2k
    • Add/Sub + CarryMul
    • Add/Sub + CarrySquare (Not really worth it)
    • ToBytes
    • Selectznz (with the parameter fix), reduces signing and key generation performance by 25%.
    • X25519 needs to be fiat-specific.
  • Add the fiat-crypto copyright to the dinky wrappers.

@Yawning Yawning force-pushed the feature/fiat-crypto branch 18 times, most recently from 67c21f2 to cf3af58 Compare August 2, 2021 14:14
@Yawning Yawning force-pushed the feature/fiat-crypto branch 6 times, most recently from f07c83a to 885b596 Compare August 13, 2021 06:11
This is a series of wrappers around fiat-crypto's curve25519 code, along
with working around braindamage caused by the lack of `//go:inline`.

Upstream commit: f1951b3d80f1d0e402a832682875667ae52e8028
Upstream got rid of the assembly.  This is marginally slower, but it
will use fiat, and it's only a few percent.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant