github.com/cloudflare/circl@v1.5.0/dh/x25519/doc.go (about) 1 /* 2 Package x25519 provides Diffie-Hellman functions as specified in RFC-7748. 3 4 Validation of public keys. 5 6 The Diffie-Hellman function, as described in RFC-7748 [1], works for any 7 public key. However, if a different protocol requires contributory 8 behaviour [2,3], then the public keys must be validated against low-order 9 points [3,4]. To do that, the Shared function performs this validation 10 internally and returns false when the public key is invalid (i.e., it 11 is a low-order point). 12 13 References: 14 - [1] RFC7748 by Langley, Hamburg, Turner (https://rfc-editor.org/rfc/rfc7748.txt) 15 - [2] Curve25519 by Bernstein (https://cr.yp.to/ecdh.html) 16 - [3] Bernstein (https://cr.yp.to/ecdh.html#validate) 17 - [4] Cremers&Jackson (https://eprint.iacr.org/2019/526) 18 */ 19 package x25519