Skip to content

Commit

Permalink
Introduce JubJub (#49)
Browse files Browse the repository at this point in the history
  • Loading branch information
davxy authored Feb 28, 2025
1 parent d50c783 commit 6894567
Show file tree
Hide file tree
Showing 8 changed files with 491 additions and 6 deletions.
3 changes: 3 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ ring-proof = { package = "w3f-ring-proof", version = "0.0.2", default-features =
# Curves
ark-secp256r1 = { version = "0.5", default-features = false, optional = true }
ark-ed25519 = { version = "0.5", default-features = false, optional = true }
ark-ed-on-bls12-381 = { version = "0.5", default-features = false, optional = true }
ark-ed-on-bls12-381-bandersnatch = { version = "0.5", default-features = false, optional = true }
ark-bls12-381 = { version = "0.5", default-features = false, optional = true }
ark-ed-on-bn254 = { version = "0.5", default-features = false, optional = true }
Expand All @@ -46,11 +47,13 @@ full = [
"secp256r1",
"ed25519",
"bandersnatch",
"jubjub",
"baby-jubjub",
"ring",
]
# Curves
ed25519 = [ "ark-ed25519" ]
jubjub = [ "ark-ed-on-bls12-381", "ark-bls12-381/curve" ]
bandersnatch = [ "ark-ed-on-bls12-381-bandersnatch", "ark-bls12-381/curve" ]
baby-jubjub = [ "ark-ed-on-bn254", "ark-bn254/curve" ]
secp256r1 = [ "ark-secp256r1", "rfc-6979" ]
Expand Down
93 changes: 93 additions & 0 deletions data/vectors/jubjub_sha-512_tai_ietf.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
[
{
"comment": "jubjub_sha-512_tai_ietf - vector-1",
"sk": "2e5fcb767f3f6528c6ff5304168c79bff667f830156433d7660fb98d72bc5a01",
"pk": "30f478ac3c74e78188193194fed53fb95ab9a5e3bb0b5177540d0e3668bfb4d6",
"alpha": "",
"salt": "",
"ad": "",
"h": "deb13729d88f7003e094dcef981aa8e62ce35d7dff20143c1ece67335dd23257",
"gamma": "33d5f173ef131ffa7cd137ced05e2374a78d085f8e0d0a8c2f64b5488e535ceb",
"beta": "0b5d3619b606a30f43d0b80f9b72d619caca4ae6c86afd6a7a54dd1a892ff34559279ca1341f177a2909cb97a2593ffc92399507867d29cb86615b83a4061d31",
"proof_c": "2b870aabdbe252ed892a6e1c35a8e879f3fa900aa74b0158a3baef1888e54e02",
"proof_s": "d7dc8916c042374ed5601171f7c3db1ac65e7528efd56894fc0b6e9754449801"
},
{
"comment": "jubjub_sha-512_tai_ietf - vector-2",
"sk": "ca48b2a3649f62e7c240e22851cb514b57ca1dfad8de5e6d79f06329357bd008",
"pk": "308996eb46e494d162f29bd6abacf14685bd204eeaeefd78d226da240dab9e3c",
"alpha": "0a",
"salt": "",
"ad": "",
"h": "0602a39a45b8b51b28f4489367e3215d8886e650a7dcd8a21e7365a2bfa1994e",
"gamma": "703fa7dce4f7acd51a92b5e845af77babee0c9cf9a680901c621ff98b0637821",
"beta": "282c8073be0faba5ec8d75b7c69790d4032be1af17b00d32d44b1d23a5b0d4935333e66481a212c42a0c6165c7ba568c6203a6b7e687bf513559b998af718fa0",
"proof_c": "b88f4c1462bc7bdd70e51a28e4bc8d9f34bbf0a9a7c12aedbbc7a34193890e0c",
"proof_s": "51b8f86737125e2f58ad1ea56d3c6cf09fcda65e6435fbed57e75bf762673f09"
},
{
"comment": "jubjub_sha-512_tai_ietf - vector-3",
"sk": "d0286e69edde875b7d5587068d03ffda50d2af165574c7b29136962b81796603",
"pk": "b818097374bdcec279c69356de3398a240f2542bfbe07b339d56d0b452c16cc6",
"alpha": "",
"salt": "",
"ad": "0b8c",
"h": "deb13729d88f7003e094dcef981aa8e62ce35d7dff20143c1ece67335dd23257",
"gamma": "28e78b819a6449ebeaa94866dbb93290177bb4c58fe9ac9dc5a82a8c871afd1a",
"beta": "d882d5ca4549f669da6c325957914bb19f0b7ee9eda29a8012cc2fde2b0e2f21ad321f6e6c2096582cae71af42f2ca345fb2dc3bf55cdabda35b9d937f54f89e",
"proof_c": "a6cd47823711a71bd8851d2ce0254f40bfa51d496067892b73805b50a9bda206",
"proof_s": "73e1521fdf993ce4f4b09d8d376509a65668102f1bb0b34e2fc5de58d9a24104"
},
{
"comment": "jubjub_sha-512_tai_ietf - vector-4",
"sk": "0e141badfe43931575e134862426bc47b86440d2b2e643862c1250a1464a2203",
"pk": "205db8f7d735e7df59410f974e39d0c6797119034b090f749f0306ce7c27fb40",
"alpha": "73616d706c65",
"salt": "",
"ad": "",
"h": "d9151cdd64a5d16bf3149694f13dfcbc7df5b3657f70e3aa8daa2f67b0e75ccf",
"gamma": "5014e883d3c7994ecac93af9e6a95aeca4d5fc3be5e77fac8d8af1f313b0b12a",
"beta": "6035d22c8348614fb393c2910e81412711ff1defcfd1939e5744cbec10600489979bbe25a47f1738cb4937d9a3a16914cef65563a57b9142638a151d4ea459ff",
"proof_c": "3fc38d46d8dcbc9827aedbc3e0febc2f6cc3bc67db31fb66a23e4167ee41690b",
"proof_s": "e270d00318f80a6b75253ec475685ecf73c748b9209fb189159309d160160f07"
},
{
"comment": "jubjub_sha-512_tai_ietf - vector-5",
"sk": "c5b89638ae4eb16237a1d6f39d48687e9bf12733eb74c6b21edf871ca576fa02",
"pk": "8146083de63a51ca4c8c28126e5bed6439e3a2ad6c23307b96c030d3dabaffd6",
"alpha": "42616e646572736e6174636820766563746f72",
"salt": "",
"ad": "",
"h": "4faa81c497e007f695dceca4d92abddf2f9d79aa298b5fad477079907fabe033",
"gamma": "b6014d3da5289c81014b6b5fb077183f4fc67370d589b04703f331d497c21b5a",
"beta": "bb1f90f574cac7deaac1a52fab802e4305cceababa4d874fcf1e0c122f13ee966c05b375f7d48df5ae7d286cb470f26a0f10ff19abe4f3d90d568c27621b4f0b",
"proof_c": "c27de8ec3e87d002e2721d77ebf51b6d96122be70b9558f24a72a40c9dfe9a0c",
"proof_s": "cdeda57bd86400ac1444ce44a0f6ab107bb8a4c26c24e9d35d91b1cf005c800c"
},
{
"comment": "jubjub_sha-512_tai_ietf - vector-6",
"sk": "c5b89638ae4eb16237a1d6f39d48687e9bf12733eb74c6b21edf871ca576fa02",
"pk": "8146083de63a51ca4c8c28126e5bed6439e3a2ad6c23307b96c030d3dabaffd6",
"alpha": "42616e646572736e6174636820766563746f72",
"salt": "",
"ad": "1f42",
"h": "4faa81c497e007f695dceca4d92abddf2f9d79aa298b5fad477079907fabe033",
"gamma": "b6014d3da5289c81014b6b5fb077183f4fc67370d589b04703f331d497c21b5a",
"beta": "bb1f90f574cac7deaac1a52fab802e4305cceababa4d874fcf1e0c122f13ee966c05b375f7d48df5ae7d286cb470f26a0f10ff19abe4f3d90d568c27621b4f0b",
"proof_c": "c55a0a2f5da77f4df3c98d8971256481d49ce7e00eb6d0373c850b0ac6b91706",
"proof_s": "31f283a6d0b632a43a72e856f5c1c2d0db108611564966b354ec9f0c5dd4610d"
},
{
"comment": "jubjub_sha-512_tai_ietf - vector-7",
"sk": "d742adcfce2a341263158af472d390d680eef01422290420cc61107497597005",
"pk": "a1014ce47c0acb248907b95d8cac8427d56ec88f6b88e6efa85e9953a2ef2e6b",
"alpha": "42616e646572736e6174636820766563746f72",
"salt": "",
"ad": "1f42",
"h": "4faa81c497e007f695dceca4d92abddf2f9d79aa298b5fad477079907fabe033",
"gamma": "ef00ace4b541a74d06b05d03aa8447cb66a3a11aea47f26a0197ab7ff0498bb8",
"beta": "9b5d9daf0ae53d37fa2d1458005194e14c20520ede7fb12cb76b4b27743104bcbc71e6815708bf6136360c667515f5707ad68037b6efd32e59e17df962c8d10a",
"proof_c": "ae387564a8455de2aba2a274ed2f06291764fadf6687ce67b463c1e28f7a660d",
"proof_s": "8d0e61ed17d9e14a8e53800cb69cea7df6072aa3d5974c010f05ecd22c961707"
}
]
121 changes: 121 additions & 0 deletions data/vectors/jubjub_sha-512_tai_pedersen.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
[
{
"comment": "jubjub_sha-512_tai_pedersen - vector-1",
"sk": "2e5fcb767f3f6528c6ff5304168c79bff667f830156433d7660fb98d72bc5a01",
"pk": "30f478ac3c74e78188193194fed53fb95ab9a5e3bb0b5177540d0e3668bfb4d6",
"alpha": "",
"salt": "",
"ad": "",
"h": "deb13729d88f7003e094dcef981aa8e62ce35d7dff20143c1ece67335dd23257",
"gamma": "33d5f173ef131ffa7cd137ced05e2374a78d085f8e0d0a8c2f64b5488e535ceb",
"beta": "0b5d3619b606a30f43d0b80f9b72d619caca4ae6c86afd6a7a54dd1a892ff34559279ca1341f177a2909cb97a2593ffc92399507867d29cb86615b83a4061d31",
"blinding": "3b7e8f330b99205fd5300cf18a094d3298df60cf5b4945107146d6407a2d2400",
"proof_pk_com": "97da69b45d5cd751fab9bda5271cd38221400531d0e16d3b2565f942bc81f05a",
"proof_r": "c040a9081484b38594a1c469c506267cc1fa45efcd9d8baeff621ad9bf3df72a",
"proof_ok": "b20a6c4458a41a16e6894f42fb3958c11864c8b75245f6bd031517ee9662111b",
"proof_s": "6187858dc1653c6f55bca63f16ef56291ed853a182bcfbdade22fa6c6603f707",
"proof_sb": "9d3ee6ee1936e1b8ea6f9707c7792bc29f1fa541850f42978043d66b465f7f0b"
},
{
"comment": "jubjub_sha-512_tai_pedersen - vector-2",
"sk": "ca48b2a3649f62e7c240e22851cb514b57ca1dfad8de5e6d79f06329357bd008",
"pk": "308996eb46e494d162f29bd6abacf14685bd204eeaeefd78d226da240dab9e3c",
"alpha": "0a",
"salt": "",
"ad": "",
"h": "0602a39a45b8b51b28f4489367e3215d8886e650a7dcd8a21e7365a2bfa1994e",
"gamma": "703fa7dce4f7acd51a92b5e845af77babee0c9cf9a680901c621ff98b0637821",
"beta": "282c8073be0faba5ec8d75b7c69790d4032be1af17b00d32d44b1d23a5b0d4935333e66481a212c42a0c6165c7ba568c6203a6b7e687bf513559b998af718fa0",
"blinding": "31d20c401eda5170115ec3a267d5992051f90cfec778b5d1adb9d2dc840ee80b",
"proof_pk_com": "d7cf9ddc584e24d147148fc39e30fda1c6dd11a85d75a9754fa9cb278164f709",
"proof_r": "669af5bc935a578ed76f6ab83a3ab13a7ed1a23c82cd0f9851c140da5c9bbc0d",
"proof_ok": "e0ac0b52a36d31ae196cc9b446f14128cd3070e933d64035547a517fdf406d62",
"proof_s": "a931e47c8d599ac10ff0fe5f0d5f5648ca413e322d9c997ad452fc1c8b2c3803",
"proof_sb": "a95dc0c0f41cf435b92930833b52e7d8c5ba4fe7ceacd59b071eb9a8963c040b"
},
{
"comment": "jubjub_sha-512_tai_pedersen - vector-3",
"sk": "d0286e69edde875b7d5587068d03ffda50d2af165574c7b29136962b81796603",
"pk": "b818097374bdcec279c69356de3398a240f2542bfbe07b339d56d0b452c16cc6",
"alpha": "",
"salt": "",
"ad": "0b8c",
"h": "deb13729d88f7003e094dcef981aa8e62ce35d7dff20143c1ece67335dd23257",
"gamma": "28e78b819a6449ebeaa94866dbb93290177bb4c58fe9ac9dc5a82a8c871afd1a",
"beta": "d882d5ca4549f669da6c325957914bb19f0b7ee9eda29a8012cc2fde2b0e2f21ad321f6e6c2096582cae71af42f2ca345fb2dc3bf55cdabda35b9d937f54f89e",
"blinding": "76f0df1c062d482c842d43b092af5544d7108559683bbe14a3265f16e84e6006",
"proof_pk_com": "7cbb7a527393d031377a0457dd4a605c491781261dd1f17273f918c16299535c",
"proof_r": "c6038e97ebe9b0d5339d4ce0a734a1c05e7725da800d218d9389bb8028e2ec02",
"proof_ok": "c218481a881a21bd0ad10271ecf77c5ac7ce3731ead92bef8b4d28f2dff14f48",
"proof_s": "bad33d0fe96476d13cfcfb329263275c8592517fde6bea0475c261eb9ccc9805",
"proof_sb": "8f426c0be2db2f58a9488d7690a49f00d2de5cd374595d5f45dcfc7568a6bf04"
},
{
"comment": "jubjub_sha-512_tai_pedersen - vector-4",
"sk": "0e141badfe43931575e134862426bc47b86440d2b2e643862c1250a1464a2203",
"pk": "205db8f7d735e7df59410f974e39d0c6797119034b090f749f0306ce7c27fb40",
"alpha": "73616d706c65",
"salt": "",
"ad": "",
"h": "d9151cdd64a5d16bf3149694f13dfcbc7df5b3657f70e3aa8daa2f67b0e75ccf",
"gamma": "5014e883d3c7994ecac93af9e6a95aeca4d5fc3be5e77fac8d8af1f313b0b12a",
"beta": "6035d22c8348614fb393c2910e81412711ff1defcfd1939e5744cbec10600489979bbe25a47f1738cb4937d9a3a16914cef65563a57b9142638a151d4ea459ff",
"blinding": "cb35e984e03253ea63bdcf1ce52c54d60c85a9e0e6d6b771fae5148d5b0e4302",
"proof_pk_com": "bcae3d49b89cf385d2fc6edb899194c2f9938d6b970f2a40a6efe426f5724784",
"proof_r": "8a5e6ce55f659c43848414270e558423b5a42ca8b8d67c9b5f269997c407461f",
"proof_ok": "6e2ce4a6f4cf3b924f65eb71c3719f709c3d87f0a1ca6e295fe1078a792b00b9",
"proof_s": "e4ef3397d02e9b9b10292e81e0d0e17e53437443d2a03fca0ef3ff8225883f03",
"proof_sb": "e66e8da6a4f4ba895d56e8e0b5fc006e361c843423e987eb7ebaf4bbee20b30b"
},
{
"comment": "jubjub_sha-512_tai_pedersen - vector-5",
"sk": "c5b89638ae4eb16237a1d6f39d48687e9bf12733eb74c6b21edf871ca576fa02",
"pk": "8146083de63a51ca4c8c28126e5bed6439e3a2ad6c23307b96c030d3dabaffd6",
"alpha": "42616e646572736e6174636820766563746f72",
"salt": "",
"ad": "",
"h": "4faa81c497e007f695dceca4d92abddf2f9d79aa298b5fad477079907fabe033",
"gamma": "b6014d3da5289c81014b6b5fb077183f4fc67370d589b04703f331d497c21b5a",
"beta": "bb1f90f574cac7deaac1a52fab802e4305cceababa4d874fcf1e0c122f13ee966c05b375f7d48df5ae7d286cb470f26a0f10ff19abe4f3d90d568c27621b4f0b",
"blinding": "4589927d0d90f1e3e801a1ffc6d5c576b18e890e9c72141d3f0203f2768a8909",
"proof_pk_com": "e4b8106ea14e5fdb290239787013f1476d1215125dfd81fc0e509f067aa9049a",
"proof_r": "b3f03fe8cd7ff11840cde63b36d99fd3ecb83089234ec3eb3ff877a73c9f1480",
"proof_ok": "d2a9679ab878d18dce9360b8f021ed10110d5962e3dacdd17a9178c36c233ed6",
"proof_s": "f7f68fb226b905e76c4b05d962afa176e3f734c445d47ead6fdfc29019235106",
"proof_sb": "beb64e4b98b7c08cf2935eeacbf255f42e5597050fc99d4df96c1f104fbb700e"
},
{
"comment": "jubjub_sha-512_tai_pedersen - vector-6",
"sk": "c5b89638ae4eb16237a1d6f39d48687e9bf12733eb74c6b21edf871ca576fa02",
"pk": "8146083de63a51ca4c8c28126e5bed6439e3a2ad6c23307b96c030d3dabaffd6",
"alpha": "42616e646572736e6174636820766563746f72",
"salt": "",
"ad": "1f42",
"h": "4faa81c497e007f695dceca4d92abddf2f9d79aa298b5fad477079907fabe033",
"gamma": "b6014d3da5289c81014b6b5fb077183f4fc67370d589b04703f331d497c21b5a",
"beta": "bb1f90f574cac7deaac1a52fab802e4305cceababa4d874fcf1e0c122f13ee966c05b375f7d48df5ae7d286cb470f26a0f10ff19abe4f3d90d568c27621b4f0b",
"blinding": "0b16ae8001479a5887fd3710f388b6b35be9b04eb4d62ba5717d0452a06f0f06",
"proof_pk_com": "296d6eeceaaabaaba6849fd46fd7abdf33a90b8bf79b3199f851b795db3089df",
"proof_r": "93a39efa2a45eb8a6d104f50155cb7e049249395a8d252726b5c76d4fdf0564b",
"proof_ok": "d2a9679ab878d18dce9360b8f021ed10110d5962e3dacdd17a9178c36c233ed6",
"proof_s": "97ab45760f9a3fb33d4136ee024e324e853809497083f72251d0125eaee96d08",
"proof_sb": "1477e1966975343b0b75bec7b4bf208230df702a5de23515ee2df63f2d9bc806"
},
{
"comment": "jubjub_sha-512_tai_pedersen - vector-7",
"sk": "d742adcfce2a341263158af472d390d680eef01422290420cc61107497597005",
"pk": "a1014ce47c0acb248907b95d8cac8427d56ec88f6b88e6efa85e9953a2ef2e6b",
"alpha": "42616e646572736e6174636820766563746f72",
"salt": "",
"ad": "1f42",
"h": "4faa81c497e007f695dceca4d92abddf2f9d79aa298b5fad477079907fabe033",
"gamma": "ef00ace4b541a74d06b05d03aa8447cb66a3a11aea47f26a0197ab7ff0498bb8",
"beta": "9b5d9daf0ae53d37fa2d1458005194e14c20520ede7fb12cb76b4b27743104bcbc71e6815708bf6136360c667515f5707ad68037b6efd32e59e17df962c8d10a",
"blinding": "b25bb1af5615454485805239c496939748815cfa6a340095e771016018a7db02",
"proof_pk_com": "26b7098b64f6ad2ed1b22f3491380f79927a2bb720df5e938291f00e52cecd9c",
"proof_r": "dc9aeebbecce230138055bfeda361ec1ccac090c8761ed2b59cdde183ce80066",
"proof_ok": "34d4ec9b618684a9b2a6f3ad50e6e5f1df5b64c79dff52ad3d1a26ee90f91c55",
"proof_s": "6bcf6a736e7e567c6b789476b99f48e3d45d84e69f7bc0d686c8e00086760007",
"proof_sb": "8b42b21a12f024b00e0bc81f7280816eee8377f412bf401ed2b49863a6c78505"
}
]
Loading

0 comments on commit 6894567

Please sign in to comment.