-
Notifications
You must be signed in to change notification settings - Fork 3
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
Use the group password only through a KDF #27
base: ngc_merge
Are you sure you want to change the base?
Conversation
This avoids storing plaintext passwords and allows to use arbitrarily long passwords in groups.
It's state is encoded in the presence/absence of the passkey bytes.
|
||
|
||
/* We re-use the Group ID as salt for the password, if this condition is violated and out-of-bounds read happens */ | ||
static_assert(EXT_PUBLIC_KEY_SIZE >= crypto_pwhash_scryptsalsa208sha256_SALTBYTES, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
afaik, toxcore uses C99, but static_assert is a C11 feature.
https://en.cppreference.com/w/c/error/static_assert
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's used a bit above, so I think it works. Not sure though why...
f9c7385
to
17ab6d1
Compare
d57ebf3
to
8c8b321
Compare
c6b454a
to
e514356
Compare
074f0eb
to
372bd1c
Compare
c1eb0d6
to
02996f0
Compare
3a0ad65
to
4e80d9c
Compare
87e0a26
to
2acb790
Compare
eca315a
to
0a277b5
Compare
@JFreegman and @Green-Sky I think we need the Tox equivalent of Python PEPs to get proposals for improvement identified, and prioritized. If https://wiki.tox.chat allowed logged in users to write then we could use that unless there's something better. |
@JFreegman @sudden6 , i think this should be reopened/retargeted to c-toxcore:master for further discussion. |
Can you make/add a Security label for these kind of issues, so we can keep track of vulnerabilities or rooms for improvement? |
This changes the NGC protocol in the following ways:
This has the following advantages:
This has the following disadvantages:
In this PR I implemented a PoC on what changes would be needed. It is not fully complete and I think I broke packet encoding somewhere, but it should suffice to show that this doesn't increase the complexity.