Aritmética criptográfica verificada e key agreement

A versão 2.955.1 preserva as APIs existentes de SHA3, SHAKE e key agreement com verificações de overflow de inteiros e de intervalos ativas em Delphi e Free Pascal

SHA3-256, SHA3-384, SHA3-512 e SHAKE256 mantêm as saídas existentes deles através de 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 campos trabalha intencionalmente módulo 2^64; constantes de bit alto e operações Montgomery permanecem utilizáveis em builds de 32 bits verificadas

Admissão de segredos partilhados Montgomery

HPDFX25519 e HPDFX448 verificam os bytes canónicos completos da saída e levantam EInvalidOpException quando o segredo partilhado é todo zero, incluindo representações fracas de campos cujos limbs internos são diferentes de zero

HPDFComputeKeyAgreementSecret traduz esta 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 a seguir a descodificação da RFC 7748, incluindo a regra de bit alto do X25519; a verificação de segredo zero segue a verificação opcional de admissão da secção 6 da RFC 7748

Aceitação

Seis alvos nativos reais passam cada um 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 os 11 métodos originais inalterados de ladder e de envelopes de destinatários de consumidores; as closures reais do compilador são auditadas contra a composição da versão atual

Corra Tests/Linux/Run-CheckedCryptoAcceptance.py para aceitação normal de consola verificada; Tests/Linux/CheckedCryptoAcceptance.en-us.md descreve os comandos do compilador e o gerador independente de vetores

Estas verificações estabelecem o comportamento documentado de vetores e de rejeição; não estabelecem execução em tempo constante nem uma certificação de side channels

Conclusão de capacidades restantes