x.crypto.ascon: improves the core of Ascon permutation routine#25278
Merged
Conversation
|
Connected to Huly®: V_0.6-25145 |
spytheman
reviewed
Sep 10, 2025
Contributor
|
You can add the code that you run for the benches in the |
Contributor
Author
Okey .. i would add it in next time of cycles.Its on plan |
Contributor
Thank you 🙇🏻 . |
spytheman
approved these changes
Sep 11, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR improves the core of
x.crypto.asconpermutation routine in the mean of internal routineascon_pnrfunction.After some profiling, the most widely called routines was 3 function of the core permutation routines, ie,
ascon_pnr,ascon_permand utilityascon_rotate_rightused in permutation.The number before patch using
sum256as a test case:== Before patch == Benchmarking ascon.sum256 before patch ... Average time ascon.sum256 before patch: 11 µsAnd here the number after patch
== After patch == Benchmarking ascon.sum256 after patch ... Average time ascon.sum256 after patch: 6 µsNearly 50% improvement in performance was a good addition. The numbers i talk on Discord confirm this approach.
This patch fundamentally unifies
ascon_pnrandascon_perminto single one routine. Its also embed directly bits rotate right logic onto this single routine and improves all performances.This patch also contains some small cleans up, updates readme file. and other small thing.