Hi, I've been looking at the underlying code of the circom compiler. I have read the fr.asm file generated by circom compilation and I am not sure what these functions do. These functions may implement some of the key steps of Montgomery's algorithm, but I do not understand the difference between them:
global Fr_rawMMul
global Fr_rawMSquare
global Fr_rawToMontgomery
global Fr_rawFromMontgomery
I'd appreciate it if you could give me a brief introduction.
Hi, I've been looking at the underlying code of the circom compiler. I have read the fr.asm file generated by circom compilation and I am not sure what these functions do. These functions may implement some of the key steps of Montgomery's algorithm, but I do not understand the difference between them:
I'd appreciate it if you could give me a brief introduction.