aboutsummaryrefslogtreecommitdiffstats
path: root/src/tests/tests.c
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2024-01-19 12:36:11 +0000
committerMichael Brown <mcb30@ipxe.org>2024-01-19 16:44:30 +0000
commit2eea04c02ca902f8068b6ad0dd522e6e9a81691c (patch)
tree8e82f5aab9247002d80e7a341996579c08d8fe3b /src/tests/tests.c
parent908174ec7e49d845c8b52a07a3db32534eade37d (diff)
downloadipxe-2eea04c02ca902f8068b6ad0dd522e6e9a81691c.tar.gz
[crypto] Add X25519 key exchange algorithm
Add an implementation of the X25519 key exchange algorithm as defined in RFC7748. This implementation is inspired by and partially based upon the paper "Implementing Curve25519/X25519: A Tutorial on Elliptic Curve Cryptography" by Martin Kleppmann, available for download from https://www.cl.cam.ac.uk/teaching/2122/Crypto/curve25519.pdf The underlying modular addition, subtraction, and multiplication operations are completely redesigned for substantially improved efficiency compared to the TweetNaCl implementation studied in that paper (approximately 5x-10x faster and with 70% less memory usage). Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/tests/tests.c')
-rw-r--r--src/tests/tests.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/tests/tests.c b/src/tests/tests.c
index fbdf562c6..41c199c0b 100644
--- a/src/tests/tests.c
+++ b/src/tests/tests.c
@@ -81,3 +81,4 @@ REQUIRE_OBJECT ( hmac_test );
REQUIRE_OBJECT ( dhe_test );
REQUIRE_OBJECT ( gcm_test );
REQUIRE_OBJECT ( nap_test );
+REQUIRE_OBJECT ( x25519_test );