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