Class BLS12_381ProofOfPossession

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static byte[] DST  
      static byte[] POP_DST  
    • Field Detail

      • DST

        public static final byte[] DST
      • POP_DST

        public static final byte[] POP_DST
    • Method Detail

      • sign

        public static BLS12_381G2Point sign​(java.math.BigInteger sk,
                                            byte[] message)
      • popProve

        public static BLS12_381G2Point popProve​(java.math.BigInteger sk)
        Generate a proof-of-possession for sk. The proof is bound to SkToPk(sk) via the POP DST and the public-key encoding so a verifier can confirm the signer holds the matching secret key without any context message.
      • popVerify

        public static boolean popVerify​(ECPoint pk,
                                        BLS12_381G2Point proof)
        Verify a proof-of-possession against the declared public key.
      • aggregateVerify

        public static boolean aggregateVerify​(ECPoint[] pks,
                                              byte[][] messages,
                                              BLS12_381G2Point sigAgg)
        Aggregate verification under the ProofOfPossession suite. Distinct messages are not required because the standalone PoP step is expected to have screened out rogue keys before any aggregation is attempted.