Aritmética criptográfica com overflow checking e key agreement

A versão 2.955.1 preserva as APIs existentes de SHA3, SHAKE e key agreement, com checagens de integer overflow e range habilitadas em Delphi e Free Pascal

SHA3-256, SHA3-384, SHA3-512 e SHAKE256 retêm suas saídas existentes entre entradas vazias, fronteiras de rate, múltiplos blocos, atualizações em streaming e extrações repetidas de SHAKE

Trocas P-256, P-384 e P-521 usam operações explícitas de low-word onde a implementação de campo trabalha intencionalmente módulo 2^64; constantes de high bit e operações Montgomery permanecem utilizáveis em builds checked de 32 bits

Admissão de shared secrets Montgomery

HPDFX25519 e HPDFX448 checam os bytes completos da saída canônica e disparam EInvalidOpException quando o shared secret é todo zero, incluindo representações fracas de campo cujos limbs internos são não nulos

HPDFComputeKeyAgreementSecret traduz essa rejeição em False, um SharedSecret vazio e um Issue fresco; uma operação válida subsequente permanece utilizável

Coordenadas u não canônicas continuam seguindo a decodificação RFC 7748, incluindo a regra de high bit do X25519; a checagem de zero-secret segue a checagem opcional de admissão da seção 6 do RFC 7748

Aceitação

Seis alvos nativos reais passam cada um por 360 comparações independentes de SHA3/SHAKE e 101 casos de key agreement, incluindo scalars privados NIST de largura completa em ambas as direções, vetores RFC e 1.000 iterações, rejeição de low-order, entradas não canônicas e recuperação

Ambas as arquiteturas Delphi também passam pelos 11 métodos originais inalterados de ladder e recipient-envelope consumers; as closures reais do compilador são auditadas contra a composição atual da release

Execute Tests/Linux/Run-CheckedCryptoAcceptance.py para a aceitação comum de console checked; Tests/Linux/CheckedCryptoAcceptance.en-us.md descreve os comandos do compilador e o gerador independente de vetores

Essas checagens estabelecem o comportamento documentado de vetores e rejeições; elas não estabelecem execução constant-time nem uma certificação de side channel

Conclusão de capabilities restantes