Element added to online presence stanza, to inform peers with presence subscription on how to establish end-to-end encrypted communication with the application. Public keys should be regularly changed, and new presence stanzas issued, to protect the forward secrecy of communication. If a public/private key pair is broken, it only affects messages using that keypair. Update frequency depends on the sensitivity of the data being communicated. If the symmetric AES cipher is supported. If the symmetric ChaCha20 cipher is supported. If the symmetric AEAD-ChaCha20-Poly1305 cipher is supported. Symmetric Cipher extensions declare their support using attributes from other namespaces. Base class for Endpoints. Public key, base-64 encoded. Base class for hybrid algorithms using Module Lattice cryptography. End-to-End encryption hybrid cipher using the Module Lattice algorithms ML-KEM-512 and ML-DSA-44 with pre-hash SHAKE-256. End-to-End encryption hybrid cipher using the Module Lattice algorithms ML-KEM-768 and ML-DSA-65 with pre-hash SHAKE-256. End-to-End encryption hybrid cipher using the Module Lattice algorithms ML-KEM-1024 and ML-DSA-87 with pre-hash SHAKE-256. Base class for hybrid algorithms using Elliptic Curve ECDH key exchange (to generate symmetric keys for encryption) and ECDSA signatues. End-to-End encryption using the the Curve25519 Montgomery curve, ECDH key exchange (to generate symmetric keys for for encryption). Cryptographic signatures are not provided by the curve. End-to-End encryption using the the Curve448 Montgomery curve, ECDH key exchange (to generate symmetric keys for for encryption). End-to-End encryption using the the Edward25519 Twisted Edward curve, ECDH key exchange (to generate symmetric keys for encryption) and EdDSA signatues. End-to-End encryption using the the Edward448 Edward curve, ECDH key exchange (to generate symmetric keys for encryption) and EdDSA signatues. End-to-End encryption using the NIST P-521 curve, ECDH key exchange (to generate symmetric keys for encryption) and ECDSA signatues. End-to-End encryption using the NIST P-384 curve, ECDH key exchange (to generate symmetric keys for encryption) and ECDSA signatues. End-to-End encryption using the NIST P-256 curve, ECDH key exchange (to generate symmetric keys for encryption) and ECDSA signatues. End-to-End encryption using the NIST P-224 curve, ECDH key exchange (to generate symmetric keys for encryption) and ECDSA signatues. End-to-End encryption using the NIST P-192 curve, ECDH key exchange (to generate symmetric keys for encryption) and ECDSA signatues. End-to-End encryption using the Brainpool P-512 curve, ECDH key exchange (to generate symmetric keys for encryption) and ECDSA signatues. End-to-End encryption using the Brainpool P-384 curve, ECDH key exchange (to generate symmetric keys for encryption) and ECDSA signatues. End-to-End encryption using the Brainpool P-320 curve, ECDH key exchange (to generate symmetric keys for encryption) and ECDSA signatues. End-to-End encryption using the Brainpool P-256 curve, ECDH key exchange (to generate symmetric keys for encryption) and ECDSA signatues. End-to-End encryption using the Brainpool P-224 curve, ECDH key exchange (to generate symmetric keys for encryption) and ECDSA signatues. End-to-End encryption using the Brainpool P-192 curve, ECDH key exchange (to generate symmetric keys for encryption) and ECDSA signatues. End-to-End encryption using the Brainpool P-160 curve, ECDH key exchange (to generate symmetric keys for encryption) and ECDSA signatues. End-to-End encryption using RSA Public Key cryptography to encrypt shared secrets, that are then used with AES-256 to encrypt the payload. Reference to the remote endpoint encrypting the data. 32-bit unsigned counter. Used to build the IV. Incremented once for every encrypted stanza. Can be reset when a new key is generated. If the public-key algorithm referenced does not support derivation of shared keys (such as RSA), the symmetric cipher shared secret is explicitly generated by the sender, encrypted using the public key of the recipient, and sent in this attribute. Signature of sender, if public-key algorithm supports signatures. AES-256 encryption of payload, using Cipher Block Chaining (CBC) and PKCS#7 padding. Payload must not be accepted if the decryption fails or if signatures do not validate using the corresponding public keys of the senders that the receiver has on record. Initiation Vector (IV) is the first 12 bytes of the SHA-256 hash of the concatenation of the id, type, from and to attributes values of the stanza element, followed by the 4 bytes of the counter, in little-endian order. ChaCha20 encryption of payload, starting with block counter 1. Payload must not be accepted if the decryption fails or if signatures do not validate using the corresponding public keys of the senders that the receiver has on record. Initiation Vector (IV) is the first 8 bytes of the SHA-256 hash of the concatenation of the id, type, from and to attributes values of the stanza element, followed by the 4 bytes of the counter, in little-endian order. AEAD-ChaCha20-Poly1305 authenticated encryption with associated data of payload. Payload must not be accepted if the decryption fails or if signatures do not validate using the corresponding public keys of the senders that the receiver has on record. Initiation Vector (IV) is the first 8 bytes of the SHA-256 hash of the concatenation of the id, type, from and to attributes values of the stanza element, followed by the 4 bytes of the counter, in little-endian order. The Associated Data (AD) used in the AEAD algorithm is the UTF-8 encoding of the `from` attribute value on the stanza (i.e. full JID of the sender). Element that can be sent in an iq get stanza to synchronize End-to-End Encryption and Peer-to-Peer parameters. Expected response element is synchE2e as well, where the recipient of the request returns its parameters, after authorizing the request.