Skip to content
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

Implement NOISE_NK (psk0) key exchange #46

wants to merge 2 commits into
base: master


None yet
2 participants
Copy link

spinda commented Apr 5, 2019

Related to #45, implement a key exchange pattern wherein an anonymous (ephemeral) client and a server whose static public key is known to that client can safely communicate bidirectionally.


This comment has been minimized.

Copy link

jedisct1 commented Apr 6, 2019

Thanks! Having NK would be useful, but the API should probably be slightly different.

Unlike N, the client can use a long-term key pair. So, instead of generating a new one in nk_1, we should accept an already existing key pair.

Similarly, the client public key is an information the server application may want to use. So, we may want to fill this in nk_2.


This comment has been minimized.

Copy link
Contributor Author

spinda commented Apr 6, 2019

How's this look? The idea is to support passing NULL for client_eph_kp into hydro_kx_nk_1 to have it generate an ephemeral key pair automatically, and similarly passing NULL for the peer_eph_pk output parameter into hydro_kx_nk_2 if the server doesn't need to check the public key.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.