bc-java
bc-java copied to clipboard
Abstract core KEM functionality out of DHKEM
Hi, I'd like to be able to use HPKE with alternative KEMs, but it's currently not usable because there's no public facing KEM abstraction and HPKE currently hard codes the initial set from RFC9180. To accomplish this, I've pulled the public functions from DHKEM into the KEM abstract class, modified HPKE to use a KEM instead, and added a new constructor that doesn't require an RFC9180 KEM.