-
Notifications
You must be signed in to change notification settings - Fork 17.8k
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
crypto/des: Performance optimization of permutation function in DES algorithm #42011
base: master
Are you sure you want to change the base?
Conversation
Update block.go
Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please visit https://cla.developers.google.com/ to sign. Once you've signed (or fixed any issues), please reply here with What to do if you already signed the CLAIndividual signers
Corporate signers
ℹ️ Googlers: Go here for more info. |
@googlebot I signed it! |
This PR (HEAD: 47fcaaa) has been imported to Gerrit for code review. Please visit https://go-review.googlesource.com/c/go/+/262977 to see it. Tip: You can toggle comments from me using the |
Message from Go Bot: Patch Set 1: Congratulations on opening your first change. Thank you for your contribution! Next steps: Most changes in the Go project go through a few rounds of revision. This can be During May-July and Nov-Jan the Go project is in a code freeze, during which Please don’t reply on this GitHub thread. Visit golang.org/cl/262977. |
This still seems valuable to add? |
I closed old PRs to reduce load on the Gerrit importer (#50197), sorry for the trouble. I'll reopen the CL and PR. |
/cc @rsc |
Description:
Inspired by the function
func permuteInitialBlock(block uint64) uint64
(crypto/des/block.go, line 119) , I converted the functionc.subkeys[i] = unpack(permuteBlock(pc2Input, permutedChoice2[:]))
call on line 243 of crypto/des/block.go into a bit operation method.Performance improvement (based on arm64-arch):