herumi / mcl

a portable and fast pairing-based cryptography library
BSD 3-Clause "New" or "Revised" License
452 stars 152 forks source link

Does the mcl project has replaced the ate-pairing? #19

Closed huyuguang closed 5 years ago

huyuguang commented 6 years ago

And, now the libsnarks depends on ate-pairing, do you have port a new version libsnarks which base on mcl?

herumi commented 6 years ago

Yes, I want that mcl is incorporated into libsnark and have requested it before. API has changed since then, so I'll retry pullreq again.

huyuguang commented 6 years ago

I found you have forked libsnarks in https://github.com/herumi/libsnark. Does this project base on mcl?

herumi commented 6 years ago

Yes. mcl_bn256 is the pullreq. But it is old, so it should be updated for the latest mcl and libsnark.

huyuguang commented 6 years ago

I tried your "libsnark", and tried to port it to 32bit arm Linux and x64 windows. I found there are so many "long" in code, and as I know, the "sizeof(long)" is different between the 32bits process and 64 bits process. So should I change the "long" to int64_t?

herumi commented 6 years ago

Where "long" is used? mcl does not use long.

herumi commented 6 years ago

mcl runs on 32/64-bit architecture. libsnark seems to use "long" but I don't know whether they use "long" as "int64_t".