Checked crypto arithmetic and key agreement

Version 2.955.1 behåller de befintliga SHA3-, SHAKE- och nyckelöverenskommelse-API:erna med heltalsöverlopps- och intervallkontroller aktiverade i Delphi och Free Pascal

SHA3-256, SHA3-384, SHA3-512 och SHAKE256 behåller sina befintliga utdata över tom indata, rate-gränssnitt, multipla block, strömmande uppdateringar och upprepad SHAKE-extraktion

P-256-, P-384- och P-521-utbyten använder explicita lågord-operationer varhelst fältimplementationen medvetet arbetar modulo 2^64; högbit-konstanter och Montgomery-operationer förblir användbara i kontrollerade 32-bitars byggen

Montgomery delad-hemlighet-tillåtelse

HPDFX25519 och HPDFX448 kontrollerar de completa kanoniska utdatabyttena och kastar EInvalidOpException när den delade hemligheten är enbart nollor, inklusive svaga fältrepresentationer vars interna lim är nollskilda

HPDFComputeKeyAgreementSecret översätter detta avvisande till False, ett tomt SharedSecret och ett färskt Issue; en efterföljande giltig operation förblir användbar

Icke-kanoniska u-koordinater fortsätter att följa RFC 7748-avkodning, inklusive X25519-högbit-regeln; noll-hemlighet-kontrollen följer den valfria tillåtelsekontrollen i RFC 7748 avsnitt 6

Acceptans

Sex faktiska nativa mål klarar 360 oberoende SHA3/SHAKE-jämförelser och 101 nyckelöverenskommelsefall var, inklusive fullbredd NIST-privata skalärer i båda riktningarna, RFC-vektorer och 1 000 iterationer, avvisning av låg ordning, icke-kanonisk indata och återhämtning

Båda Delphi-arkitekturerna klarar också de 11 oförändrade ursprungliga ladder- och mottagarkuvert-konsumentmetoderna; de faktiska kompilatorstängningarna granskas mot aktuell utgåvesammansättning

Kör Tests/Linux/Run-CheckedCryptoAcceptance.py för normal kontrollerad konsolacceptans; Tests/Linux/CheckedCryptoAcceptance.en-us.md beskriver kompilatorkommandona och den oberoende vektorgeneratorn

Dessa kontroller etablerar dokumenterat vektor- och avvisningsbeteende; de etablerar inte konstant-tid-exekvering eller en sidokanalcertifiering

Kvarvarande kapabilitetsfullbörjande