Class FaestKeyPairGenerator

    • Constructor Detail

      • FaestKeyPairGenerator

        public FaestKeyPairGenerator()
    • Method Detail

      • generateKeyPair

        public AsymmetricCipherKeyPair generateKeyPair()
        Generate a fresh FAEST key pair.

        Side-channel note: the OWF-key validity check (low two bits not both set, matching upstream faest_param.c:39-42) is enforced by a rejection-sampling loop. The loop's iteration count therefore depends on bytes drawn from the supplied SecureRandom and is observable via timing. The information leaked is about the discarded DRBG draws, not the accepted OWF key, so the loop does not expose secret key bits. Callers that need to suppress even that signal can pass a deterministic / pre-conditioned random source.

        Specified by:
        generateKeyPair in interface AsymmetricCipherKeyPairGenerator
        Returns:
        an AsymmetricCipherKeyPair containing the generated keys.