opengnsys_ipxe/src
Michael Brown c9291bc5c7 [tls] Allow for NIST elliptic curve point formats
The elliptic curve point representation for the x25519 curve includes
only the X value, since the curve is designed such that the Montgomery
ladder does not need to ever know or calculate a Y value.  There is no
curve point format byte: the public key data is simply the X value.
The pre-master secret is also simply the X value of the shared secret
curve point.

The point representation for the NIST curves includes both X and Y
values, and a single curve point format byte that must indicate that
the format is uncompressed.  The pre-master secret for the NIST curves
does not include both X and Y values: only the X value is used.

Extend the definition of an elliptic curve to allow the point size to
be specified separately from the key size, and extend the definition
of a TLS named curve to include an optional curve point format byte
and a pre-master secret length.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
2025-01-21 15:55:33 +00:00
..
arch [crypto] Expose carry flag from big integer addition and subtraction 2024-11-26 12:55:13 +00:00
bin [build] Reduce scope of wildcard .gitignore rules 2024-01-09 12:39:48 +00:00
config [sbi] Add support for running as a RISC-V SBI payload 2024-10-28 19:20:50 +00:00
core [pci] Provide a null PCI API for platforms with no PCI bus 2024-10-28 16:43:43 +00:00
crypto [tls] Allow for NIST elliptic curve point formats 2025-01-21 15:55:33 +00:00
doc [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
drivers [gve] Run startup process only while device is open 2024-12-03 13:57:06 +00:00
hci [usb] Add "usbscan" command for iterating over USB devices 2024-10-17 14:18:22 +01:00
image [crypto] Extend asn1_enter() to handle partial object cursors 2024-08-07 16:26:19 +01:00
include [tls] Allow for NIST elliptic curve point formats 2025-01-21 15:55:33 +00:00
interface [efi] Add EFI_TCG2_PROTOCOL header and GUID definition 2024-12-17 13:52:23 +00:00
libgcc [libgcc] Change __divmoddi4 from int64 [unknown] to int64_t 2020-07-21 14:33:32 +01:00
net [tls] Allow for NIST elliptic curve point formats 2025-01-21 15:55:33 +00:00
scripts [arm] Inhibit linker warnings about an implied executable stack 2023-01-23 12:55:44 +00:00
tests [crypto] Allow for relaxed Montgomery reduction 2024-12-18 14:31:24 +00:00
usr [image] Add the "imgdecrypt" command 2024-08-29 15:11:30 +01:00
util [riscv] Add support for the RISC-V CPU architecture 2024-09-15 22:34:10 +01:00
.gitignore [build] Reduce scope of wildcard .gitignore rules 2024-01-09 12:39:48 +00:00
Makefile [build] Allow for per-architecture cross-compilation prefixes 2024-10-29 14:11:08 +00:00
Makefile.efi [efi] Add support for driving EFI_MANAGED_NETWORK_PROTOCOL devices 2024-03-25 17:58:33 +00:00
Makefile.housekeeping [build] Allow for per-architecture cross-compilation prefixes 2024-10-29 14:11:08 +00:00
Makefile.linux [linux] Allow a sysroot to be specified via SYSROOT=... 2024-09-15 10:01:35 +01:00
doxygen.cfg [build] Remove PACKED macro 2010-05-29 23:49:47 +01:00