JHUISI / charm

Charm: A Framework for Rapidly Prototyping Cryptosystems
http://charm-crypto.io
GNU Lesser General Public License v3.0
541 stars 166 forks source link

Changes to fix Relic integration #262

Closed friedrichsenm closed 3 years ago

friedrichsenm commented 3 years ago

220

Added the fixes I came up with to compile the Charm module with a Relic backend for pairing.

For the functions that had name conflicts with existing functions in Relic, I added charm_ as a prefix. I also added this to the g#_write_str functions even though they had no name conflict in order to keep a consistent naming convention for those families of functions.

I tested by generating random G1, G2, GT, ZR points on the BN254 curve in Python and making sure all expected arithmetic worked and the pairing function worked. If there are additional things I should check, please let me know.