Checked crypto arithmetic en key agreement
Versie 2.955.1 behoudt de bestaande SHA3-, SHAKE- en key-agreement-API's met integer overflow- en range-checks aangezet in Delphi en Free Pascal
SHA3-256, SHA3-384, SHA3-512 en SHAKE256 houden hun bestaande uitvoer over lege invoer, rate-grenzen, meerdere blokken, gestreamde updates en herhaalde SHAKE-extractie
P-256-, P-384- en P-521-exchanges gebruiken expliciete low-word-operaties waar de veldimplementatie bewust modulo 2^64 werkt; high-bit-constanten en Montgomery-operaties blijven bruikbaar in checked 32-bit builds
Montgomery shared-secret-toelating
HPDFX25519 en HPDFX448 controleren de complete canonieke uitvoerbytes en raise-en EInvalidOpException wanneer het shared secret volledig nul is, inclusief zwakke veldrepresentaties waarvan de interne limbs niet-nul zijn
HPDFComputeKeyAgreementSecret vertaalt die weigering naar False, een lege SharedSecret en een verse Issue; een daaropvolgende geldige operatie blijft bruikbaar
Noncanonical u-coördinaten blijven RFC 7748-decodering volgen, inclusief de X25519-high-bit-regel; de zero-secret-check volgt de optionele admission check uit RFC 7748 sectie 6
Acceptatie
Zes echte native targets halen elk 360 onafhankelijke SHA3/SHAKE-vergelijkingen en 101 key-agreement-cases, waaronder full-width NIST private scalars in beide richtingen, RFC-vectoren en 1.000 iteraties, low-order rejection, noncanonical invoer en herstel
Beide Delphi-architecturen halen ook de 11 ongewijzigde oorspronkelijke ladder- en recipient-envelope-consumers; de werkelijke compiler-closures worden geauditeerd tegen de huidige release-samenstelling
Draai Tests/Linux/Run-CheckedCryptoAcceptance.py voor normale checked console-acceptatie; Tests/Linux/CheckedCryptoAcceptance.en-us.md beschrijft de compiler-commando's en de onafhankelijke vectorgenerator
Deze checks leggen het gedocumenteerde vector- en rejectiegedrag vast; ze leggen geen constant-time-uitvoering of een side-channel-certificering vast