Expand description
Cifras de criptografia do wire negociadas após o SRP.
O Firebird chaveia a cifra simétrica com a chave de sessão SRP K. Cada
direção usa uma instância de cifra independente inicializada com a mesma
chave, então o cliente mantém uma cifra de leitura e outra de escrita separadas.
Estão implementados Arc4 (RC4) e ChaCha/ChaCha64 (ChaCha20), os três
plugins padrão de WireCryptPlugin do FB5.
- Arc4: chaveado direto com a chave de sessão SRP
K; mesma chave nas duas direções. - ChaCha / ChaCha64: a chave é
SHA-256(K)(32 bytes); o nonce é anunciado pelo servidor no buffer de troca de chaves do handshake, logo após o nome do plugin ("ChaCha\0"+ 12 bytes, ou"ChaCha64\0"+ 8 bytes). Contador inicial 0; mesma chave+nonce nas duas direções. ChaCha usa nonce de 96 bits + contador de 32 bits (estilo IETF/RFC 8439); ChaCha64 usa nonce de 64 bits + contador de 64 bits (estilo DJB original).
Structs§
- ChaCha20
- Cifra de fluxo ChaCha20 (RFC 8439 e a variante DJB de 64 bits).
- Rc4
- Cifra de fluxo RC4 clássica.
Enums§
- Wire
Crypt Plugin - O plugin de criptografia do wire a negociar.
Functions§
- make_
ciphers - Constrói o par de cifras de leitura/escrita para o plugin negociado.