opengnsys_ipxe/src
Michael Brown 2eea04c02c [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>
2024-01-19 16:44:30 +00:00
..
arch [loong64] Replace broken big integer arithmetic implementations 2024-01-19 16:40:11 +00:00
bin [build] Reduce scope of wildcard .gitignore rules 2024-01-09 12:39:48 +00:00
config [build] Reduce scope of wildcard .gitignore rules 2024-01-09 12:39:48 +00:00
core [libc] Use wall clock time as seed for the (non-cryptographic) RNG 2023-10-06 12:50:43 +01:00
crypto [crypto] Add X25519 key exchange algorithm 2024-01-19 16:44:30 +00:00
doc [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
drivers [libc] Replace linker_assert() with build_assert() 2024-01-16 13:35:08 +00:00
hci [efi] Implement "shim" as a dummy command on non-EFI platforms 2023-05-24 10:20:31 +01:00
image [libc] Make static_assert() available via assert.h 2024-01-16 13:35:08 +00:00
include [crypto] Add X25519 key exchange algorithm 2024-01-19 16:44:30 +00:00
interface [smbios] Support scanning for the 64-bit SMBIOS3 entry point 2023-12-29 19:38:47 +00:00
libgcc [libgcc] Change __divmoddi4 from int64 [unknown] to int64_t 2020-07-21 14:33:32 +01:00
net [libc] Make static_assert() available via assert.h 2024-01-16 13:35:08 +00:00
scripts [arm] Inhibit linker warnings about an implied executable stack 2023-01-23 12:55:44 +00:00
tests [crypto] Add X25519 key exchange algorithm 2024-01-19 16:44:30 +00:00
usr [efi] Support versions of shim that perform SBAT verification 2023-05-23 15:27:20 +01:00
util [efi] Add potentially missing relocation types 2023-12-21 12:29:03 +00:00
.gitignore [build] Reduce scope of wildcard .gitignore rules 2024-01-09 12:39:48 +00:00
Makefile [build] Avoid invoking genkeymap.py via Perl 2022-02-15 13:54:28 +00:00
Makefile.efi [build] Avoid using multiple target patterns in pattern rules 2023-06-30 10:31:52 +01:00
Makefile.housekeeping [build] Inhibit more linker warnings about an implied executable stack 2023-07-04 15:12:49 +01:00
Makefile.linux [linux] Centralise the linker script for Linux binaries 2023-01-22 12:38:03 +00:00
doxygen.cfg [build] Remove PACKED macro 2010-05-29 23:49:47 +01:00