-
Notifications
You must be signed in to change notification settings - Fork 298
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Is there interest for BLS related test vectors? #108
Comments
I don't know much about the goals and directions of the C2SP project, hence I don't know much about the focus. Anyway, the main criterion for me is whether an algorithm has been described in a rather stable standards-like document. BouncyCastle support is not necessary for anything. The one nice thing with Java is essentially that the JCE interface allows to write a test once and then run it against multiple providers (of course under the somewhat optimistic assumption that every provider agrees on the interface). |
I'm currently also looking into pairing friendly curves like BLS12_381. |
@bleichenbacher-daniel that's great news, thanks a lot! So a difference compared to other algorithms is probably that the marshalling and unmarshalling of the target group elements The most "dangerous" thing I'd be concerned about when using pairings are subgroup attacks, because with BLS12-381 the groups Thinking about it, BLS12 families of pairing-friendly curves involve operations in the 12th extension of the base field Another target might be edge cases in the hash-to-curve algorithms, since these are very important for both signatures and IBE. Finally, there are a few optimisations that could be targets as well for tests:
|
I've added some test vectors for the arithmetic here: Because of this restriction, it will be necessary to generate additional test vector sets for encoding and actual protocols. For pairings I still don't have any idea for test vectors that would beat random testing (i.e. start with a random pairing then multiply the inputs with small m and n and the expected result with m*n, and repeat for as long as possible). Testing so far is somewhat weak. I'm essentially looking for libraries that have unified interfaces so that it is not necessary to write new tests code for each group to test. Encodings is another thing that is somewhat unclear so far I'm using https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-pairing-friendly-curves-11 , but will add other encodings too if I become aware of such encoding. |
This is more of a discussion than an issue, but I'd like to contribute BLS12-381 and BLS signature test vectors, especially serialization related ones, if there is interest for supporting these "newer" curves and algorithms.
However I don't think these are part of BouncyCastle at all.
Is that a blocker or are you welcoming all test-vectors from all kind of algorithms?
The text was updated successfully, but these errors were encountered: