opengnsys_ipxe/src/net
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
..
80211 [eap] Define a supplicant model for EAP and EAPoL 2023-09-18 12:07:28 +01:00
infiniband [netdevice] Allocate private data for each network upper-layer driver 2023-09-13 20:23:46 +01:00
oncrpc [nfs] Rewrite NFS URI handling 2014-05-18 21:53:39 +01:00
tcp [http] Add error table entry for HTTP 404 Not Found error 2024-03-29 14:46:13 +00:00
udp [ipv6] Expose router address for DHCPv6 leased addresses 2024-06-27 13:43:37 +01:00
aoe.c [libc] Make static_assert() available via assert.h 2024-01-16 13:35:08 +00:00
arp.c [arp] Validate length of ARP packet 2016-03-12 01:24:03 +00:00
dhcpopts.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:50:42 +00:00
dhcppkt.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
eap.c [eap] Allow MD5-Challenge authentication method to be disabled 2024-02-23 16:24:44 +00:00
eap_md5.c [eap] Allow MD5-Challenge authentication method to be disabled 2024-02-23 16:24:44 +00:00
eap_mschapv2.c [eap] Add support for the MS-CHAPv2 authentication method 2024-02-23 16:37:07 +00:00
eapol.c [eapol] Limit number of EAPoL-Start packets transmitted per attempt 2023-11-07 13:51:16 +00:00
eth_slow.c [lacp] Ignore (and do not echo) trailing padding on received packets 2020-10-14 14:18:49 +01:00
ethernet.c [ethernet] Avoid false positive Coverity warning 2019-08-17 17:30:09 +01:00
fakedhcp.c [pxe] Populate ciaddr in fake PXE Boot Server ACK packet 2015-09-01 21:24:02 +01:00
fc.c [build] Fix the REQUIRE_SYMBOL mechanism 2015-03-05 00:59:38 +00:00
fcels.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
fcns.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
fcoe.c [fcoe] Use driver-private data to hold FCoE port structure 2023-09-14 13:25:19 +01:00
fcp.c [fcp] Allow Fibre Channel device to be described using an EFI device path 2020-10-22 14:16:55 +01:00
fragment.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
icmp.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
icmpv4.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
icmpv6.c [ipv6] Disambiguate received ICMPv6 errors 2015-05-11 12:45:14 +01:00
infiniband.c [infiniband] Require drivers to specify the number of ports 2021-01-27 01:15:35 +00:00
iobpad.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
ipv4.c [ipv4] Support small subnets with no directed broadcast address 2024-06-26 05:01:58 -07:00
ipv6.c [ipv6] Use driver-private data to hold link-local IPv6 settings block 2023-09-13 23:02:54 +01:00
lldp.c [lldp] Use driver-private data to hold LLDP settings block 2023-09-13 23:02:47 +01:00
ndp.c [ipv6] Expose router address for DHCPv6 leased addresses 2024-06-27 13:43:37 +01:00
neighbour.c [netdevice] Allocate private data for each network upper-layer driver 2023-09-13 20:23:46 +01:00
netdev_settings.c [netdevice] Add "linktype" setting 2024-04-03 12:53:46 +01:00
netdevice.c [netdevice] Allocate private data for each network upper-layer driver 2023-09-13 20:23:46 +01:00
nullnet.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
pccrc.c [crypto] Simplify internal HMAC API 2022-10-10 12:21:54 +01:00
pccrd.c [peerdist] Add support for constructing and decoding discovery messages 2015-07-28 16:09:14 +01:00
peerblk.c [crypto] Allow initialisation vector length to vary from cipher blocksize 2022-10-25 13:21:28 +01:00
peerdisc.c [netdevice] Separate concept of scope ID from network device name index 2023-01-14 00:09:20 +00:00
peerdist.c [peerdist] Allow PeerDist to be globally enabled or disabled 2019-12-13 14:44:22 +00:00
peermux.c [peerdist] Gather and report peer statistics during download 2017-09-05 23:23:22 +01:00
ping.c [xfer] Remove address family from definition of a socket opener 2020-07-15 18:46:58 +01:00
rarp.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
retry.c [retry] Colourise debug output 2015-03-05 11:25:54 +00:00
rndis.c [rndis] Clean up error handling path in register_rndis() 2018-07-09 10:35:57 +01:00
socket.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
stp.c [time] Allow timer to be selected at runtime 2017-01-26 08:17:37 +00:00
tcp.c [xfer] Remove address family from definition of a socket opener 2020-07-15 18:46:58 +01:00
tcpip.c [netdevice] Limit MTU by hardware maximum frame length 2017-01-25 14:55:09 +00:00
tls.c [tls] Allow for NIST elliptic curve point formats 2025-01-21 15:55:33 +00:00
udp.c [xfer] Remove address family from definition of a socket opener 2020-07-15 18:46:58 +01:00
validator.c [crypto] Fix debug name for empty certificate chain validators 2024-08-14 14:07:41 +01:00
vlan.c [netdevice] Allocate private data for each network upper-layer driver 2023-09-13 20:23:46 +01:00