Update
Yet another progress update.
I have obtained v15 of the new CEdev toolchain and completed the migration of this project to the new toolchain.
This included converting fasmg assembly to GNU assembly with help from TIny_Hacker on x25519.
I had Claude run through the handshake code and streamline/optimize/flesh out what I'd already written, and we can now boast handshake reassembly and what should be a stable TLS handshake.
There is now a full whitepaper published for this project that provides attribution, introduction, why I did this, documents the membuffer and Ethernet implementation, documents the TLS implementation including min-entropy, calibration for correlation, the custom trust model, the threat scoping, cryptoguard, test harnesses, AI tooling disclosure... pretty much everything. If anyone cares enough to do some highly technical reading, link is:
https://github.com/cagscalclabs/lwip-ce/releases/tag/whitepaper-latest
Additionally, we now have 3 harnesses:
1. Internally-hard coded RFC vectors (unit tests)
2. Timing analysis profiling (which can be a bit wonky on CEmu, hardware runs are more reliable)
** I have now added an ACVP- (Automated Cryptographic Validation Protocol) style test. I had to do an alternate style because we have no means of connecting the calculator yet directly, so the current test works by fetching the CAVP vector sets from NIST for: SHA, HMAC, and AES, then supplementing the ones that don't have a CAVP vector or where the set doesn't match our assumptions (like RSA) with samples from python3-cryptography and the RFCs to provide a proof ACVP-adjacent correctness.
Incidentally, the addition of the ACVP tests did reveal an un-covered edge case in AES and in RSA-PSS, so it's a good thing I added it.
All that remains is figuring out some linker shenanigans in APP building mode to get x25519's relocation to work right, embed the function table, code the LIBLOAD stub library... and then we should have this RC-ready.