Baby Jubjub Key Pair
In Iden3 the public and private key pair is used to manage an identity and to authenticate in the name of an identity. In particular, Baby Jubjub is the elliptic curve used in Iden3. This curve is designed to work efficiently with zkSNARKs.
-
Initiate a Go Module
go mod init example/iden3-tutorial
-
Update the required dependencies.
go get github.com/iden3/go-iden3-crypto/babyjub
-
Generate a baby jubjub public key.
package main import ( "fmt" "github.com/iden3/go-iden3-crypto/babyjub" ) // BabyJubJub key func main() { // generate babyJubjub private key randomly babyJubjubPrivKey := babyjub.NewRandPrivKey() // generate public key from private key babyJubjubPubKey := babyJubjubPrivKey.Public() // print public key fmt.Println(babyJubjubPubKey) }
Here is an example of a public key generated using Baby Jubjub:
500d43e1c3daa864995a9615b6f9e3a4fd0af018548c583773b6e422b14201a3
The executable code can be found here