dragan2234 / banderwagon-cairo

Project for OnlyDust contributors - creating banderwagon scalar multiplication and point addition in cairo
MIT License
3 stars 1 forks source link

test scalar multiplication on bandersnatch #10

Open dragan2234 opened 6 months ago

dragan2234 commented 6 months ago

make few tests against either https://github.com/lambdaclass/lambdaworks/ or https://github.com/arkworks-rs/algebra/tree/master/curves/ed_on_bls12_381_bandersnatch or https://github.com/asanso/Bandersnatch

Examples from halo2curves, short weistrass form:

5*G : Bandersnatch { x: 0x40956ab9e05451df8707992c91c4526a54d02f225ff92e05a3b8c842d2cd0cd0, y: 0x5f05e6a170a9d5d572fb739c4cab0b6ec4c083e9a4ff8882c6ff416963675941, z: 0x2489b407cd5d8a99dd70915afcaace836e003cff1985af40023e96ecb9179036 }
2*G : Bandersnatch { x: 0x0f94cf9c0036db4ff4890d9daeb6c1a4fde0a78fb505384776b31615cb94792c, y: 0x43f9bee793deed4fb50d2e38a4725873aa341bfb65bb054379282d434ed1afbe, z: 0x226302ac7f5507697fbc8ad4afef7797d29c996fcdc6d3088d62dbf1af0bb3e2 }
2G + 5G: Bandersnatch { x: 0x45a7102e26c2e7743145bcb5df6e1744c70574ae0f863ce453737062702242dc, y: 0x0b81bb642ec0eb759edc14c4eddd5fa0cb3b8669098f831d183e530d450220f7, z: 0x043e5c60e3d3b937e8ee2210849cc97a9ad299aff8742d1fb7bf0e668a89f16e }
dragan2234 commented 6 months ago

Test for TE projective curve:

g*5 is = Element(Projective { x: BigInt([8495743206407926243, 14287377328941847274, 9821863993963227906, 2380874790896116683]), y: BigInt([2206644564048169727, 11614739781005000169, 18112241537033015519, 968435425183978866]), t: BigInt([12109311388337560312, 15783048167228323062, 17265778013657098228, 2514443411652273785]), z: BigInt([14675930459462976631, 2267228839851155942, 3067128029132546091, 7579689623662879817]) })
g*2 is = Element(Projective { x: BigInt([7052217963893571048, 16524263206966804394, 2692673981500821808, 7568744427968033420]), y: BigInt([14090820702557011070, 1971081647162313739, 1701640185897585170, 2676499615366470612]), t: BigInt([4445050699395597569, 17912685814269171535, 7622128197150368527, 6732668056094640544]), z: BigInt([2973081187422467110, 9446401239740187577, 18253476133972937668, 6143520984228516619]) })