21:05:33 <dangerousfreedom> Hello everyone,
21:05:33 <dangerousfreedom> I have implemented a Borromean verifier but it is taking too long to verify the signatures as I have to do 4*64 point multiplications in the EC. I'm using a simple double_and_add method (in Python) for point multiplication. Apparently Monero also uses that algorithm (maybe a smarter version?). I would like to know if there would be a faster way to do it and compare the performance with the C++ code. Do you guys have any
21:05:33 <dangerousfreedom> thoughts on that? Could that be parallelized? A GPU and some smart algorithm would make things faster?
21:21:59 <brick> dangerousfreedom, not sure if this is the correct place to put your question, consider monero-dev?
21:22:18 <UkoeHB> dangerousfreedom: you could check https://eprint.iacr.org/2007/286
21:23:00 <UkoeHB> but yeah, python's going to be hella slow now matter what you use (unless you are calling an embedded C/C++ module)
21:23:06 <UkoeHB> no matter*
21:23:09 <brick> dangerousfreedom, I don't know anything about Borromean verifier, but what curve do you use?
21:23:53 <UkoeHB> pre-built C/C++ module * (I have used pybind11 in the past, it's great)
21:25:22 <UkoeHB> brick: it is ed25519, borromean ring sigs were used for range proofs around 4-6 years ago https://eprint.iacr.org/2015/1098.pdf
21:29:38 <dangerousfreedom> Thank you UkoeHB ! I will check!
21:30:16 <brick> This is a common curve, idk if monero has an internal implementaion, but you could check openssl or linux kernel crypto api
21:34:09 <dangerousfreedom> brick: Yeah, but I'm trying to have some Python implementation (or just cheat a little bit and use some bindings). Thanks!