CRYSTALS (Cryptographic Suite for Algebraic Lattices) supports two quantum robust mechanisms: Kyber for key-encapsulation mechanism (KEM) and key exchange; and Dilithium for a digital signature algorithm. CRYSTALS-Kyber uses LWE (Learning with Errors) with lattice methods. With KEX, Bob and Alice exchange information, and end up with the same shared encryption key. Bob and Alice both generate public and private keys, use these to generate the shared secret. We can either have UAKE (unilaterally authenticated key exchange) or AKE (mutually authenticated key exchange). With UAKE, we only authenticate one end of the exchange (such as where we only authenticate the server in TLS), or with AKE, we authenticate both ends with their public keys. With Kyber we have three main packages: Kyber-512 (equivalent to AES-128); Kyber-768 (equivalent to AES-192) and Kyber-1024 (equivalent to AES-256). Each of these will be quantum robust. In this case we will be using Kyber-512, and which produces a public key of 800 bytes, and a secret key of 1632 bytes.
Related: [Kyber KEM][Kyber KEX][Dilithium Dig Sig Speed][Factoring signature (ECC)][Factoring signature (Logs)][Falcon Digital Signature][Rainbow Digital Signature][Dilithium Digital Signature][SPHINCS+]