[WIP/RFC] Remove prng registry #515
Labels
No labels
bug
duplicate
enhancement
feature
help wanted
improve API
invalid
needs documentation
not-planned
rtfm
stale
support
wishlist
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
gh-libtom/libtomcrypt!515
Loading…
Reference in a new issue
No description provided.
Delete branch "remove-prng-registry"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The first step into the direction of a registry-free LibTomCrypt
I do support this idea; however, this is going to break a lot of things. Basically nearly all SW using libtomcrypt.
IMO this PR should be labeled
LTCv2.0and the timing of merging into develop should be carefully considered.I'll hopefully find some time for deeper review.
yep, one has to break stuff sometimes to be able to advance
yes it will be 2.0 and IMO the branch is called develop for a reason and contains the next version, no matter how hard it will break previous versions, so I think it should be merged as soon as it's ready.
The most important part of this PR is the decision if
desccan be put intostateor whether we should do it somehow differently!?The rest of the PR is going through the sources and adapting to the new API.
Oh, is that the line of thinking going forward?
I'm frankly sad to see this concept go, I very much liked the way that made LTC expandable on an ad-hoc basis, for example to try out a new cipher (say?) and have it easily hooked into the LTC modes, just to mention an example...
Oh, there's no plan to remove the basic architecture of hooking stuff together. The only thing that I believe would be better is the removal of the static registries. If we take gcm as example I imagine the changes as follows:
This would've basically prevented the race condition of SM4 we just saw.
Currently we're carrying a lot of times a descriptor/state+id in the API, whereas we could simply combine both into the state.
It kind of makes sense, and I can agree with that... it does cut away the possibility for more complex systems, where there's a part that needs to be able to find implementations by name. However, it is questionable if that complexity level must be part of ltc itself, or if it is better left to be implemented by apps, or another library on top of ltc.
Thank you for clarifying!
View command line instructions
Manual merge helper
Use this merge commit message when completing the merge manually.
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.