Current spec says to pass the key, but we might have to specify the hkdf initialization somehow unless we can set a key directly without relying on a prior hkdf state having been set as part of a uniqueified handshake.
There's aead and chacha versions that are further subclasses of those, and then aes as a further subclass of aead plus a bunch of specific algorithms that mostly just pass an enum to its base class as far as I saw in my brief scan.
Current spec says to pass the key, but we might have to specify the hkdf initialization somehow unless we can set a key directly without relying on a prior hkdf state having been set as part of a uniqueified handshake.
The decrypters are all subclasses of QuicDecrypter and all are in the same directory: https://github.com/GrumpyOldTroll/quiche/blob/quic-multicast-dev/quic/core/crypto/quic_decrypter.h
And likewise the encrypters are all subclasses of QuicEncrypter: https://github.com/GrumpyOldTroll/quiche/blob/quic-multicast-dev/quic/core/crypto/quic_encrypter.h
There's aead and chacha versions that are further subclasses of those, and then aes as a further subclass of aead plus a bunch of specific algorithms that mostly just pass an enum to its base class as far as I saw in my brief scan.