Encrypted Channels
ART's encrypted channels provide end-to-end encryption for confidential communications. Built on industry-standard cryptography, encrypted channels ensure that only intended recipients can read your messages, with automatic key management and seamless integration into the standard messaging connection.
Unlike regular channels where messages are transmitted in plaintext, secure channels encrypt every message on the sender's device and decrypt it only on the recipient's device. ART uses ECDH(Elliptic Curve Diffie-Hellman) and authenticated encryption to provide:
- End-to-End Encryption: Messages are encrypted before leaving your device
- Perfect Forward Secrecy: Each message uses a unique cryptographic nonce
- Authentication: Built-in message integrity verification prevents tampering
- Zero-Knowledge: ART servers cannot read your encrypted messages
Subscribing to secure channel
Subscribing to an encrypted channel requires key pair setup before subscription, but otherwise follows the same process as regular channels.
1. Generate Key Pair
The generateKeyPair() method creates a new Curve25519 key pair which is used for encryption and decryption.
// Generate a new key pair
val keyPair = adk.generateKeyPair();
// Set the key pair for encryption/decryption
adk.setKeyPair(keyPair);