-
Notifications
You must be signed in to change notification settings - Fork 461
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
Stream functions in separate files #453
base: develop
Are you sure you want to change the base?
Conversation
d054762
to
8d0c2cb
Compare
8d0c2cb
to
b34750c
Compare
b34750c
to
a0151be
Compare
I suggest just keeping separate NN_memory, NN_test, NN_keystream and perhaps NN_done like:
|
plus perhaps also get rid of |
On 6Nov, 2018, at 1:47 PM, karel-m ***@***.***> wrote:
I suggest just keeping separate NN_memory, NN_test, NN_keystream and perhaps NN_done like:
[snip]
After careful consideration I'm leaning toward each callable function in its own file for reasons of consistency. IMO there is not sufficient advantage to combining some functions, each cipher differently, when some optional and sometine required functions need to be called out for linking individually. For example, the inconsistent model for...
streams combining _setup(), setiv(), and _crypt(): rabbit, sober128, sosemanuk
streams combining _setup(),and _crypt(): rc4
streams combining none: chacha, (x)salsa20
...requires calling out what you need that wasn't combined. Confusing.
Implementing the PR as written makes the decision rule consistent, "if you call it, link it".
|
I see your point but to me this is "over-consistent" for no (or very little) gain. Anyway, I am strongly against introducing new headers - |
Some stream ciphers had multiple functions in a file. This PR breaks each callable function out into separate files. Common declarations and some definitions unique to that cipher will be found in a separate local .h file for that cipher. Some guards were added to avoid warnings. Leading underscores were added to the names of sober128's helper functions.
Checklist