Stanford talk Nov 4th, new secp256k1 implementation using libsecp256k1 via Java FFM (or Bouncy Castle)
Sean Gilligan
sean at msgilligan.com
Tue Nov 4 02:19:41 UTC 2025
Hi all,
Andreas Schildbach and I are working on a new Open Source Java library
for ECC on the secp256k1 curve: secp256k1-jdk [1].
Tuesday Nov 4th, Dan Boneh will be hosting and I will be presenting and
demonstrating the secp256k1-jdk API at Stanford. The event is San
Francisco BitDevs Socratic Seminar 64 [2]. More info and RSVP is here:
https://www.meetup.com/sf-bitcoin-devs/events/311604247/
One of the goals of the talk is to evangelize modern Java (especially
FFM) -- so it would be great if some other Java folks could attend.
secp256k1-jdk defines an opinionated Java API based upon the
libsecp256k1 'C' library and two implementations using the Java
ServiceLoader mechanism. The API provides both Ecdsa and Schnorr
signing/verification, ECDH, and other cryptography primitives. The first
implementation uses Java FFM ("Panama") to wrap the well-regarded
libsecp256k1 [3] library and includes Schnorr Signature signing and
verification. The second implementation uses the pure-Java Bouncy Castle
[4] library and implements the other functions but not Schnorr (yet.)
The API currently requires Java 9 but the libsecp256k1/FFM
implementation requires Java 25.
A Java Cryptography Architecture provider is not on the current roadmap,
but could happen someday if there is interest and contribution.
We plan on doing a round of integration testing with Sparrow Wallet
(JavaFX) [5] and bitcoinj [6] (which is used in the Android app "Bitcoin
Wallet") in the next few months.
I welcome any and all feedback: please email me or open an issue or PR
on GitHub.
Regards,
Sean Gilligan
[1] secp256k1-jdk: https://github.com/bitcoinj/secp256k1-jdk
[2] SF BitDevs Socratic Seminar 64: https://sfbitcoindevs.org/socratic-64
[3] libsecp256k1: https://github.com/bitcoin-core/secp256k1
[4] Bouncy Castle: https://www.bouncycastle.org
[5] Sparrow Wallet: https://github.com/sparrowwallet/sparrow
[6] bitcoinj: https://github.com/bitcoinj/bitcoinj
More information about the security-dev
mailing list