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

Curve25519->X25519 (and same for 448) plus add zero check #16

Merged
merged 2 commits into from Nov 14, 2015
Merged

Curve25519->X25519 (and same for 448) plus add zero check #16

merged 2 commits into from Nov 14, 2015

Conversation

ilaril
Copy link
Contributor

@ilaril ilaril commented Nov 4, 2015

Replace uses of Curve25519 with X25519 (and similarly with 448-bit one).

Also add zero checks as required by CFRG-CURVES. Because of problems with TLS 1.2 key exchange, omitting these checks leads to security issues.

<t> All-zeroes output from X25519 or X448 MUST NOT be used for premaster secret (as required by definition
of X25519 and X448). If the premaster secret would be all zeroes, the handshake MUST be aborted (most
probably by sending a fatal alert).</t>
<t> Let's define legitimate values of x as the values that can be obtained as x = X25519(G, d') for some

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is d' supposed to be just d?

Also fix apparent d vs d' mixup.
@ilaril
Copy link
Contributor Author

ilaril commented Nov 7, 2015

Renamed the curves to be consistent with what got merged into TLS 1.3 spec

yoavnir added a commit that referenced this pull request Nov 14, 2015
Curve25519->X25519 (and same for 448) plus add zero check
@yoavnir yoavnir merged commit 74fadbe into tlswg:master Nov 14, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants